Boletim de segurança do Nexus: agosto de 2015

Publicado em 13 de agosto de 2015

Lançamos uma atualização de segurança para dispositivos Nexus por uma atualização OTA como parte do nosso processo de lançamento mensal do Boletim de segurança do Android. As imagens de firmware do Nexus também foram lançadas no site para desenvolvedores do Google. As builds LMY48I ou mais recentes resolvem esses problemas. Os parceiros foram notificados sobre esses problemas em 25 de junho de 2015 ou antes.

O problema mais grave é uma vulnerabilidade de segurança crítica que pode permitir a execução remota de código em um dispositivo afetado por vários métodos, como e-mail, navegação na Web e MMS ao processar arquivos de mídia. A avaliação de gravidade é baseada no efeito que a exploração da vulnerabilidade teria em um dispositivo afetado, supondo que as mitigações de plataforma e serviço estejam desativadas para fins de desenvolvimento ou se forem contornadas.

Mitigações

Este é um resumo das mitigações fornecidas pela plataforma de segurança do Android e proteções de serviço, como a SafetyNet. Esses recursos reduzem a probabilidade de que vulnerabilidades de segurança sejam exploradas no Android.

  • A exploração de muitos problemas no Android fica mais difícil devido a melhorias nas versões mais recentes da plataforma Android. Recomendamos que todos os usuários atualizem para a versão mais recente do Android, sempre que possível.
  • A equipe de segurança do Android monitora ativamente o abuso com o Verify Apps e a SafetyNet, que alertam sobre aplicativos potencialmente nocivos que estão prestes a ser instalados. Ferramentas de acesso root a dispositivos são proibidas no Google Play. Para proteger os usuários que instalam apps de fora do Google Play, a verificação de apps está ativada por padrão e alerta os usuários sobre apps de acesso root conhecidos. O Verify Apps tenta identificar e bloquear a instalação de aplicativos maliciosos conhecidos que exploram uma vulnerabilidade de elevação de privilégios. Se esse app já tiver sido instalado, o recurso "Verificar apps" vai notificar o usuário e tentar remover esses apps.
  • Conforme apropriado, o Google atualizou os aplicativos Hangouts e Messenger para que a mídia não seja transmitida automaticamente para processos vulneráveis, como mediaserver.

Agradecimentos

Agradecemos as contribuições dos seguintes pesquisadores:

  • Joshua Drake: CVE-2015-1538, CVE-2015-3826
  • Ben Hawkes: CVE-2015-3836
  • Alexandru Blanda: CVE-2015-3832
  • Michał Bednarski: CVE-2015-3831, CVE-2015-3844, CVE-2015-1541
  • Alex Copot: CVE-2015-1536
  • Alex Eubanks: CVE-2015-0973
  • Roee Hay e Or Peles: CVE-2015-3837
  • Guang Gong: CVE-2015-3834
  • Gal Beniamini: CVE-2015-3835
  • Wish Wu*: CVE-2015-3842
  • Artem Chaykin: CVE-2015-3843

*O Wish também é o primeiro destinatário do Android Security Rewards.

Integer overflows during MP4 atom processing

Há vários possíveis overflows de inteiros em libstagefright que podem ocorrer durante o processamento de átomos MP4, levando à corrupção de memória e potencialmente à execução remota de código como o processo do mediaserver.

A funcionalidade afetada é fornecida como uma API de aplicativo, e há vários aplicativos que permitem que ela seja acessada com conteúdo remoto, principalmente MMS e reprodução de mídia no navegador.

Esse problema tem gravidade crítica devido à possibilidade de execução remota de código como o serviço de mediaserver privilegiado. Embora o mediaserver seja protegido pelo SELinux, ele tem acesso a streams de áudio e vídeo, bem como acesso a nós de dispositivo de driver do kernel privilegiado em muitos dispositivos que apps de terceiros normalmente não podem acessar. De acordo com nossas diretrizes anteriores de classificação de gravidade, essa vulnerabilidade foi classificada como de alta gravidade e informada aos parceiros. De acordo com nossas novas diretrizes, publicadas em junho de 2015, esse é um problema de gravidade crítica.

CVE Bugs com links do AOSP Gravidade Versões afetadas
CVE-2015-1538 ANDROID-20139950 [2] Crítico 5.1 e versões anteriores

Um underflow de número inteiro no processamento de ESDS

Há um possível underflow de número inteiro no libstagefright que pode ocorrer durante o processamento de átomos ESDS, levando à corrupção de memória e potencialmente à execução remota de código como o processo do mediaserver.

A funcionalidade afetada é fornecida como uma API de aplicativo, e há vários aplicativos que permitem que ela seja acessada com conteúdo remoto, principalmente MMS e reprodução de mídia no navegador.

Esse problema tem gravidade crítica devido à possibilidade de execução remota de código como o serviço de mediaserver privilegiado. Embora o mediaserver seja protegido pelo SELinux, ele tem acesso a streams de áudio e vídeo, bem como acesso a nós de dispositivo de driver do kernel privilegiado em muitos dispositivos que apps de terceiros normalmente não podem acessar. De acordo com nossas diretrizes anteriores de classificação de gravidade, essa vulnerabilidade foi classificada como de alta gravidade e informada aos parceiros. De acordo com nossas novas diretrizes, publicadas em junho de 2015, esse é um problema de gravidade crítica.

CVE Bugs com links do AOSP Gravidade Versões afetadas
CVE-2015-1539 ANDROID-20139950 Crítico 5.1 e versões anteriores

Estouro de inteiro em libstagefright ao analisar o átomo tx3g do MPEG4.

Há um possível estouro de inteiro em libstagefright que pode ocorrer durante o processamento de dados MPEG4 tx3g, levando à corrupção de memória e potencialmente à execução remota de código como o processo do mediaserver.

A funcionalidade afetada é fornecida como uma API de aplicativo, e há vários aplicativos que permitem que ela seja acessada com conteúdo remoto, principalmente MMS e reprodução de mídia no navegador.

Esse problema tem gravidade crítica devido à possibilidade de execução remota de código como o serviço de mediaserver privilegiado. Embora o mediaserver seja protegido pelo SELinux, ele tem acesso a streams de áudio e vídeo, bem como acesso a nós de dispositivo de driver do kernel privilegiado em muitos dispositivos que os apps de terceiros normalmente não podem acessar.

De acordo com nossas diretrizes anteriores de classificação de gravidade, essa vulnerabilidade foi classificada como de alta gravidade e informada aos parceiros. De acordo com nossas novas diretrizes, publicadas em junho de 2015, esse é um problema de gravidade crítica.

CVE Bugs com links do AOSP Gravidade Versões afetadas
CVE-2015-3824 ANDROID-20923261 Crítico 5.1 e versões anteriores

Fluxo de dados inteiros em libstagefright ao processar átomos de covr MPEG4.

Há um possível underflow de número inteiro no libstagefright que pode ocorrer durante o processamento de dados MPEG4, levando à corrupção de memória e potencialmente à execução remota de código como o processo do mediaserver.

A funcionalidade afetada é fornecida como uma API de aplicativo, e há vários aplicativos que permitem que ela seja acessada com conteúdo remoto, principalmente MMS e reprodução de mídia no navegador.

Esse problema tem gravidade crítica devido à possibilidade de execução remota de código como o serviço de mediaserver privilegiado. Embora o mediaserver seja protegido pelo SELinux, ele tem acesso a streams de áudio e vídeo, bem como acesso a nós de dispositivo de driver do kernel privilegiado em muitos dispositivos que os apps de terceiros normalmente não podem acessar.

De acordo com nossas diretrizes anteriores de classificação de gravidade, essa vulnerabilidade foi classificada como de alta gravidade e informada aos parceiros. De acordo com nossas novas diretrizes, publicadas em junho de 2015, esse é um problema de gravidade crítica.

CVE Bugs com links do AOSP Gravidade Versões afetadas
CVE-2015-3827 ANDROID-20923261 Crítico 5.1 e versões anteriores

Fluxo de entrada de número inteiro em libstagefright se o tamanho for menor que 6 ao processar metadados 3GPP.

Há um possível underflow de número inteiro no libstagefright que pode ocorrer durante o processamento de dados 3GPP, levando à corrupção de memória e potencialmente à execução remota de código como o processo do mediaserver.

A funcionalidade afetada é fornecida como uma API de aplicativo, e há vários aplicativos que permitem que ela seja acessada com conteúdo remoto, principalmente MMS e reprodução de mídia no navegador.

Esse problema tem gravidade crítica devido à possibilidade de execução remota de código como o serviço de mediaserver privilegiado. Embora o mediaserver seja protegido pelo SELinux, ele tem acesso a streams de áudio e vídeo, bem como acesso a nós de dispositivo de driver do kernel privilegiado em muitos dispositivos que apps de terceiros normalmente não podem acessar. De acordo com nossas diretrizes anteriores de classificação de gravidade, essa vulnerabilidade foi classificada como de alta gravidade e informada aos parceiros. De acordo com nossas novas diretrizes, publicadas em junho de 2015, esse é um problema de gravidade crítica.

CVE Bugs com links do AOSP Gravidade Versões afetadas
CVE-2015-3828 ANDROID-20923261 Crítico 5.0 e versões mais recentes

Estouro de inteiro no libstagefright processando átomos de covr MPEG4 quando chunk_data_size é SIZE_MAX.

Há um possível estouro de inteiro em libstagefright que pode ocorrer durante o processamento de dados de MPEG4 covr, levando à corrupção de memória e potencialmente à execução remota de código como o processo do mediaserver.

A funcionalidade afetada é fornecida como uma API de aplicativo, e há vários aplicativos que permitem que ela seja acessada com conteúdo remoto, principalmente MMS e reprodução de mídia no navegador.

Esse problema tem gravidade crítica devido à possibilidade de execução remota de código como o serviço de mediaserver privilegiado. Embora o mediaserver seja protegido pelo SELinux, ele tem acesso a streams de áudio e vídeo, bem como acesso a nós de dispositivo de driver do kernel privilegiado em muitos dispositivos que apps de terceiros normalmente não podem acessar. De acordo com nossas diretrizes anteriores de classificação de gravidade, essa vulnerabilidade foi classificada como de alta gravidade e informada aos parceiros. De acordo com nossas novas diretrizes, publicadas em junho de 2015, esse é um problema de gravidade crítica.

CVE Bugs com links do AOSP Gravidade Versões afetadas
CVE-2015-3829 ANDROID-20923261 Crítico 5.0 e versões mais recentes

Estouro de buffer no Parse_wave do Sonivox

Há um possível estouro de buffer no Sonivox que pode ocorrer durante o processamento de dados XMF, levando à corrupção de memória e possivelmente à execução remota de código como o processo do mediaserver.

A funcionalidade afetada é fornecida como uma API de aplicativo, e há vários aplicativos que permitem que ela seja acessada com conteúdo remoto, principalmente MMS e reprodução de mídia no navegador.

Esse problema tem gravidade crítica devido à possibilidade de execução remota de código como o serviço de mediaserver privilegiado. Embora o mediaserver seja protegido pelo SELinux, ele tem acesso a streams de áudio e vídeo, bem como acesso a nós de dispositivo de driver do kernel privilegiado em muitos dispositivos que apps de terceiros normalmente não podem acessar. De acordo com nossas diretrizes anteriores de classificação de gravidade, essa vulnerabilidade foi classificada como de alta gravidade e informada aos parceiros. De acordo com nossas novas diretrizes, publicadas em junho de 2015, esse é um problema de gravidade crítica.

CVE Bugs com links do AOSP Gravidade Versões afetadas
CVE-2015-3836 ANDROID-21132860 Crítico 5.1 e versões anteriores

Estouros de buffer em libstagefright MPEG4Extractor.cpp

Há vários overflows de buffer no libstagefright que podem ocorrer durante o processamento de MP4, levando à corrupção de memória e à execução de código remota, como o processo do mediaserver.

A funcionalidade afetada é fornecida como uma API de aplicativo, e há vários aplicativos que permitem que ela seja acessada com conteúdo remoto, principalmente MMS e reprodução de mídia no navegador.

Esse problema tem gravidade crítica devido à possibilidade de execução remota de código como o serviço de mediaserver privilegiado. Embora o mediaserver seja protegido pelo SELinux, ele tem acesso a streams de áudio e vídeo, bem como acesso a nós de dispositivo de driver do kernel privilegiado em muitos dispositivos que apps de terceiros normalmente não podem acessar.

Inicialmente, esse problema foi relatado como um exploit local (não acessível remotamente). De acordo com nossas diretrizes anteriores de classificação de gravidade, essa vulnerabilidade foi classificada como moderada e informada aos parceiros. De acordo com nossas novas diretrizes, publicadas em junho de 2015, esse é um problema de gravidade crítica.

CVE Bugs com links do AOSP Gravidade Versões afetadas
CVE-2015-3832 ANDROID-19641538 Crítico 5.1 e versões anteriores

Estouro de buffer no BpMediaHTTPConnection do mediaserver

Há um possível estouro de buffer no BpMediaHTTPConnection ao processar dados fornecidos por outro aplicativo, o que leva à corrupção da memória e, possivelmente, à execução de código como o processo do mediaserver.

A funcionalidade afetada é fornecida como uma API do aplicativo. Não acreditamos que o problema possa ser explorado remotamente.

Esse problema é classificado como de alta gravidade devido à possibilidade de execução de código como o serviço de mediaserver privilegiado, de um aplicativo local. Embora o mediaserver seja protegido pelo SELinux, ele tem acesso a streams de áudio e vídeo, bem como a nós de dispositivo de driver do kernel privilegiado em muitos dispositivos que os apps de terceiros normalmente não podem acessar.

CVE Bugs com links do AOSP Gravidade Versões afetadas
CVE-2015-3831 ANDROID-19400722 Alta 5.0 e 5.1

Vulnerabilidade no libpng: overflow em png_Read_IDAT_data

Há um possível overflow de buffer que pode ocorrer na leitura de dados IDAT na função png_read_IDAT_data() no libpng, o que leva à corrupção da memória e à execução remota de código em um aplicativo que usa esse método.

A funcionalidade afetada é fornecida como uma API do aplicativo. Talvez haja aplicativos que permitam que ele seja acessado com conteúdo remoto, principalmente aplicativos de mensagens e navegadores.

Esse problema tem uma gravidade alta devido à possibilidade de execução remota de código como um aplicativo sem privilégios.

CVE Bugs com links do AOSP Gravidade Versões afetadas
CVE-2015-0973 ANDROID-19499430 Alta 5.1 e versões anteriores

O overflow memcpy() que pode ser explorado remotamente em p2p_add_device() em wpa_supplicant

Quando o wpa_supplicant está operando no modo WLAN Direct, ele fica vulnerável a possível execução remota de código devido a um overflow no método p2p_add_device(). A exploração bem-sucedida pode resultar na execução de código como o usuário "wifi" no Android.

Há várias mitigações que podem afetar a exploração bem-sucedida desse problema:

- A WLAN Direct não é ativada por padrão na maioria dos dispositivos Android

- A exploração exige que o invasor esteja próximo localmente (dentro do alcance do Wi-Fi)

- O processo wpa_supplicant é executado como o usuário "wifi", que tem acesso limitado ao sistema.

- A exploração remota é mitigada pelo ASLR em dispositivos Android 4.1 e mais recentes.

- O processo wpa_supplicant é restrito pela política do SELinux no Android 5.0 e versões mais recentes.

Esse problema é classificado como de alta gravidade devido à possibilidade de execução remota de código. Embora o serviço "wifi" tenha recursos que normalmente não são acessíveis a apps de terceiros, o que poderia classificar isso como crítico, acreditamos que os recursos limitados e o nível de mitigação justificam a redução da gravidade para alta.

CVE Bugs com links do AOSP Gravidade Versões afetadas
CVE-2015-1863 ANDROID-20076874 Alta 5.1 e versões anteriores

Corrupção de memória na desserialização de OpenSSLX509Certificate

Um aplicativo local malicioso pode enviar uma intent que, quando desserializada pelo aplicativo receptor, pode decrementar um valor em um endereço de memória arbitrário, levando à corrupção da memória e, possivelmente, à execução de código no aplicativo receptor.

Esse problema tem uma gravidade alta porque pode ser usado para ganhar privilégios que não são acessíveis a um aplicativo de terceiros.

CVE Bugs com links do AOSP Gravidade Versões afetadas
CVE-2015-3837 ANDROID-21437603 Alta 5.1 e versões anteriores

Estouro de buffer no BnHDCP do mediaserver

Há um possível estouro de inteiro em libstagefright ao processar dados fornecidos por outro aplicativo, o que leva à corrupção da memória (heap) e possivelmente à execução de código como o processo do mediaserver.

Esse problema tem uma gravidade alta porque pode ser usado para ganhar privilégios que não são acessíveis a um aplicativo de terceiros. Embora o mediaserver seja protegido pelo SELinux, ele tem acesso a streams de áudio e vídeo, bem como a nós de dispositivo de driver do kernel privilegiado em muitos dispositivos que os apps de terceiros normalmente não podem acessar.

De acordo com nossas diretrizes anteriores de classificação de gravidade, essa vulnerabilidade foi classificada como moderada e informada aos parceiros. De acordo com nossas novas diretrizes, publicadas em junho de 2015, ela é uma vulnerabilidade de alta gravidade.

CVE Bugs com links do AOSP Gravidade Versões afetadas
CVE-2015-3834 ANDROID-20222489 Alta 5.1 e versões anteriores

Estouro de buffer em libstagefright OMXNodeInstance::emptyBuffer

Há um possível overflow de buffer no libstagefright ao processar dados fornecidos por outro aplicativo, o que leva à corrupção da memória e, potencialmente, à execução do código como o processo do mediaserver.

Esse problema tem uma gravidade alta porque pode ser usado para ganhar privilégios que não são acessíveis a um aplicativo de terceiros. Embora o mediaserver seja protegido pelo SELinux, ele tem acesso a streams de áudio e vídeo, bem como a nós de dispositivo de driver do kernel privilegiado em muitos dispositivos que os apps de terceiros normalmente não podem acessar.

De acordo com nossas diretrizes anteriores de classificação de gravidade, essa vulnerabilidade foi classificada como moderada e informada aos parceiros. De acordo com nossas novas diretrizes, publicadas em junho de 2015, ela é uma vulnerabilidade de alta gravidade.

CVE Bugs com links do AOSP Gravidade Versões afetadas
CVE-2015-3835 ANDROID-20634516 [2] Alta 5.1 e versões anteriores

Estouro de heap em AudioPolicyManager::getInputForAttr() do mediaserver

Há um overflow de heap no serviço de política de áudio do mediaserver que pode permitir que um aplicativo local execute um código arbitrário no processo do mediaserver.

A funcionalidade afetada é fornecida como uma API do aplicativo. Não acreditamos que o problema possa ser explorado remotamente.

Esse problema é classificado como de alta gravidade devido à possibilidade de execução de código como o serviço de mediaserver privilegiado, de um aplicativo local. Embora o mediaserver seja protegido pelo SELinux, ele tem acesso a streams de áudio e vídeo, bem como a nós de dispositivo de driver do kernel privilegiado em muitos dispositivos que os apps de terceiros normalmente não podem acessar.

CVE Bugs com links do AOSP Gravidade Versões afetadas
CVE-2015-3842 ANDROID-21953516 Alta 5.1 e versões anteriores

Os aplicativos podem interceptar ou emular comandos do chip para a telefonia

Há uma vulnerabilidade no framework do SIM Toolkit (STK) que pode permitir que apps interceptem ou emulem determinados comandos do STK SIM para o subsistema de telefonia do Android.

Esse problema tem uma gravidade alta porque pode permitir que um app sem privilégios acesso a recursos ou dados normalmente protegidos por uma permissão de nível "assinatura" ou "sistema".

CVE Bugs com links do AOSP Gravidade Versões afetadas
CVE-2015-3843 ANDROID-21697171 [2, 3, 4] Alta 5.1 e versões anteriores

Vulnerabilidade no unmarshalling de bitmap

Um overflow de número inteiro em Bitmap_createFromParcel() pode permitir que um app feche o processo system_server ou leia dados de memória do system_server.

Esse problema é classificado como de severidade moderada devido à possibilidade de vazamento de dados sensíveis do processo system_server para um processo local sem privilégios. Embora esse tipo de vulnerabilidade normalmente seja classificado como de alta gravidade, a gravidade foi reduzida porque os dados vazados em um ataque bem-sucedido não podem ser controlados pelo processo de ataque, e a consequência de um ataque malsucedido é tornar o dispositivo temporariamente inutilizável, exigindo uma reinicialização.

CVE Bugs com links do AOSP Gravidade Versões afetadas
CVE-2015-1536 ANDROID-19666945 Moderada 5.1 e versões anteriores

O AppWidgetServiceImpl pode criar IntentSender com privilégios do sistema.

Há uma vulnerabilidade no AppWidgetServiceImpl no app Configurações que permite que um app se conceda uma permissão de URI especificando FLAG_GRANT_READ/WRITE_URI_PERMISSION. Por exemplo, isso poderia ser explorado para ler dados de contato sem a permissão READ_CONTACTS.

Essa é uma vulnerabilidade de gravidade moderada porque pode permitir que um app local acesse dados normalmente protegidos por permissões com um nível de proteção "perigoso".

CVE Bugs com links do AOSP Gravidade Versões afetadas
CVE-2015-1541 ANDROID-19618745 Moderada 5.1

Bypass de mitigação de restrições em getRecentTasks()

Um aplicativo local pode determinar com confiabilidade o aplicativo em primeiro plano, evitando a restrição getRecentTasks() introduzida no Android 5.0.

Essa vulnerabilidade é classificada como de gravidade moderada porque pode permitir que um app local acesse dados normalmente protegidos por permissões com um nível de proteção "perigoso".

Acreditamos que essa vulnerabilidade foi descrita publicamente pela primeira vez no Stack Overflow.

CVE Bugs com links do AOSP Gravidade Versões afetadas
CVE-2015-3833 ANDROID-20034603 Moderada 5.0 e 5.1

ActivityManagerService.getProcessRecordLocked() pode carregar um aplicativo UID do sistema no processo errado.

O método getProcessRecordLocked() da ActivityManager não verifica corretamente se o nome do processo de um aplicativo corresponde ao nome do pacote correspondente. Em alguns casos, isso pode permitir que o ActivityManager carregue o processo errado para determinadas tarefas.

Isso significa que um app pode impedir o carregamento das Configurações ou injetar parâmetros para fragmentos de configurações. Não acreditamos que essa vulnerabilidade possa ser usada para executar código arbitrário como o usuário "sistema".

Embora a capacidade de acessar recursos normalmente acessíveis apenas ao "sistema" seja classificada como de alta gravidade, classificamos essa como moderada devido ao nível limitado de acesso concedido pela vulnerabilidade.

CVE Bugs com links do AOSP Gravidade Versões afetadas
CVE-2015-3844 ANDROID-21669445 Moderada 5.1 e versões anteriores

Leitura de buffer ilimitada em libstagefright ao analisar metadados 3GPP.

Um underflow de número inteiro durante a análise de dados 3GPP pode resultar em uma operação de leitura que ultrapassa um buffer, fazendo com que o mediaserver falhe.

Esse problema foi originalmente classificado como de alta gravidade e informado aos parceiros como tal, mas após uma investigação mais detalhada, foi rebaixado para baixa gravidade, já que o impacto é limitado a falhas no mediaserver.

CVE Bugs com links do AOSP Gravidade Versões afetadas
CVE-2015-3826 ANDROID-20923261 Baixa 5.0 e 5.1

Revisões

  • 13 de agosto de 2015: data da publicação original