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 meio de uma atualização over-the-air (OTA) como parte de 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 do Google Developer . As compilações LMY48I ou posteriores abordam esses problemas. Os parceiros foram notificados sobre esses problemas em 25 de junho de 2015 ou antes.

O mais grave desses problemas é uma vulnerabilidade de segurança crítica que pode permitir a execução remota de código em um dispositivo afetado por meio de vários métodos, como email, 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 possivelmente teria em um dispositivo afetado, supondo que as atenuações da plataforma e do serviço estejam desabilitadas para fins de desenvolvimento ou se forem ignoradas com êxito.

Mitigações

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

  • A exploração de muitos problemas no Android é dificultada pelos aprimoramentos nas versões mais recentes da plataforma Android. Incentivamos todos os usuários a atualizar para a versão mais recente do Android sempre que possível.
  • A equipe de segurança do Android está monitorando ativamente o abuso com o Verify Apps e o SafetyNet, que avisará sobre aplicativos potencialmente prejudiciais prestes a serem instalados. As ferramentas de root do dispositivo são proibidas no Google Play. Para proteger os usuários que instalam aplicativos de fora do Google Play, o Verify Apps é ativado por padrão e avisará os usuários sobre aplicativos de root conhecidos. O Verify Apps tenta identificar e bloquear a instalação de aplicativos maliciosos conhecidos que exploram uma vulnerabilidade de escalonamento de privilégios. Se tal aplicativo já tiver sido instalado, o Verify Apps notificará o usuário e tentará removê-lo.
  • Conforme apropriado, o Google atualizou os aplicativos Hangouts e Messenger para que a mídia não seja passada automaticamente para processos vulneráveis ​​(como mediaserver).

Reconhecimentos

Gostaríamos de agradecer a esses pesquisadores por suas contribuições:

  • Joshua Drake: CVE-2015-1538, CVE-2015-3826
  • Ben Hawkes: CVE-2015-3836
  • Alexandru Blanca: 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
  • Desejo Wu*: CVE-2015-3842
  • Artem Chaykin: CVE-2015-3843

*Wish também é nosso primeiro destinatário do Android Security Rewards !

Estouro de inteiro durante o processamento do átomo MP4

Existem vários potenciais estouros de inteiros em libstagefright que podem ocorrer durante o processamento do átomo MP4, levando a corrupção de memória e execução de código potencialmente remota como o processo do servidor de mídia.

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

Este problema é classificado como de gravidade Crítica devido à possibilidade de execução remota de código como o serviço de servidor de mídia privilegiado. Embora o mediaserver seja protegido com SELinux, ele tem acesso a fluxos de áudio e vídeo, bem como acesso a nós de dispositivo de driver de kernel privilegiados em muitos dispositivos que aplicativos de terceiros normalmente não podem acessar. Observe que, de acordo com nossas diretrizes de classificação de gravidade anteriores, isso foi classificado como uma vulnerabilidade de gravidade alta e foi relatado aos parceiros como tal. De acordo com nossas novas diretrizes, publicadas em junho de 2015, trata-se de um problema de gravidade Crítica.

CVE Bug(s) com links AOSP Gravidade Versões afetadas
CVE-2015-1538 ANDROID-20139950 [ 2 ] Crítico 5.1 e abaixo

Um underflow inteiro no processamento de ESDS

Existe um potencial underflow de inteiros em libstagefright que pode ocorrer durante o processamento do átomo ESDS, levando a corrupção de memória e execução de código potencialmente remota como o processo do servidor de mídia.

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

Este problema é classificado como de gravidade Crítica devido à possibilidade de execução remota de código como o serviço de servidor de mídia privilegiado. Embora o mediaserver seja protegido com SELinux, ele tem acesso a fluxos de áudio e vídeo, bem como acesso a nós de dispositivo de driver de kernel privilegiados em muitos dispositivos que aplicativos de terceiros normalmente não podem acessar. Observe que, de acordo com nossas diretrizes de classificação de gravidade anteriores, isso foi classificado como uma vulnerabilidade de gravidade alta e foi relatado aos parceiros como tal. De acordo com nossas novas diretrizes, publicadas em junho de 2015, trata-se de um problema de gravidade Crítica.

CVE Bug(s) com links AOSP Gravidade Versões afetadas
CVE-2015-1539 ANDROID-20139950 Crítico 5.1 e abaixo

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

Existe um potencial estouro de inteiros em libstagefright que pode ocorrer durante o processamento de dados MPEG4 tx3g, levando a corrupção de memória e execução de código potencialmente remota como o processo mediaserver.

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

Este problema é classificado como de gravidade Crítica devido à possibilidade de execução remota de código como o serviço de servidor de mídia privilegiado. Embora o mediaserver seja protegido com SELinux, ele tem acesso a fluxos de áudio e vídeo, bem como acesso a nós de dispositivo de driver de kernel privilegiados em muitos dispositivos que aplicativos de terceiros normalmente não podem acessar.

Observe que, de acordo com nossas diretrizes de classificação de gravidade anteriores, isso foi classificado como uma vulnerabilidade de gravidade alta e foi relatado aos parceiros como tal. De acordo com nossas novas diretrizes, publicadas em junho de 2015, trata-se de um problema de gravidade Crítica.

CVE Bug(s) com links AOSP Gravidade Versões afetadas
CVE-2015-3824 ANDROID-20923261 Crítico 5.1 e abaixo

Underflow inteiro em libstagefright ao processar átomos MPEG4 covr

Existe um potencial underflow de inteiros em libstagefright que pode ocorrer durante o processamento de dados MPEG4, levando a corrupção de memória e execução de código potencialmente remota como o processo mediaserver.

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

Este problema é classificado como de gravidade Crítica devido à possibilidade de execução remota de código como o serviço de servidor de mídia privilegiado. Embora o mediaserver seja protegido com SELinux, ele tem acesso a fluxos de áudio e vídeo, bem como acesso a nós de dispositivo de driver de kernel privilegiados em muitos dispositivos que aplicativos de terceiros normalmente não podem acessar.

Observe que, de acordo com nossas diretrizes de classificação de gravidade anteriores, isso foi classificado como uma vulnerabilidade de gravidade alta e foi relatado aos parceiros como tal. De acordo com nossas novas diretrizes, publicadas em junho de 2015, trata-se de um problema de gravidade Crítica.

CVE Bug(s) com links AOSP Gravidade Versões afetadas
CVE-2015-3827 ANDROID-20923261 Crítico 5.1 e abaixo

Estouro de número inteiro em libstagefright se o tamanho estiver abaixo de 6 durante o processamento de metadados 3GPP

Existe um potencial underflow de inteiros em libstagefright que pode ocorrer durante o processamento de dados 3GPP, levando a corrupção de memória e execução de código potencialmente remota como o processo mediaserver.

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

Este problema é classificado como de gravidade Crítica devido à possibilidade de execução remota de código como o serviço de servidor de mídia privilegiado. Embora o mediaserver seja protegido com SELinux, ele tem acesso a fluxos de áudio e vídeo, bem como acesso a nós de dispositivo de driver de kernel privilegiados em muitos dispositivos que aplicativos de terceiros normalmente não podem acessar. Observe que, de acordo com nossas diretrizes de classificação de gravidade anteriores, isso foi classificado como uma vulnerabilidade de gravidade alta e foi relatado aos parceiros como tal. De acordo com nossas novas diretrizes, publicadas em junho de 2015, trata-se de um problema de gravidade Crítica.

CVE Bug(s) com links AOSP Gravidade Versões afetadas
CVE-2015-3828 ANDROID-20923261 Crítico 5.0 e acima

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

Existe um potencial estouro de inteiro em libstagefright que pode ocorrer durante o processamento de dados MPEG4 covr, levando a corrupção de memória e execução de código potencialmente remota como o processo mediaserver.

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

Este problema é classificado como de gravidade Crítica devido à possibilidade de execução remota de código como o serviço de servidor de mídia privilegiado. Embora o mediaserver seja protegido com SELinux, ele tem acesso a fluxos de áudio e vídeo, bem como acesso a nós de dispositivo de driver de kernel privilegiados em muitos dispositivos que aplicativos de terceiros normalmente não podem acessar. Observe que, de acordo com nossas diretrizes de classificação de gravidade anteriores, isso foi classificado como uma vulnerabilidade de gravidade alta e foi relatado aos parceiros como tal. De acordo com nossas novas diretrizes, publicadas em junho de 2015, trata-se de um problema de gravidade Crítica.

CVE Bug(s) com links AOSP Gravidade Versões afetadas
CVE-2015-3829 ANDROID-20923261 Crítico 5.0 e acima

Estouro de buffer no Sonivox Parse_wave

Há um potencial estouro de buffer no Sonivox que pode ocorrer durante o processamento de dados XMF, levando a corrupção de memória e execução de código potencialmente remota como o processo do servidor de mídia.

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

Este problema é classificado como de gravidade Crítica devido à possibilidade de execução remota de código como o serviço de servidor de mídia privilegiado. Embora o mediaserver seja protegido com SELinux, ele tem acesso a fluxos de áudio e vídeo, bem como acesso a nós de dispositivo de driver de kernel privilegiados em muitos dispositivos que aplicativos de terceiros normalmente não podem acessar. Observe que, de acordo com nossas diretrizes de classificação de gravidade anteriores, isso foi classificado como uma vulnerabilidade de gravidade alta e foi relatado aos parceiros como tal. De acordo com nossas novas diretrizes, publicadas em junho de 2015, trata-se de um problema de gravidade Crítica.

CVE Bug(s) com links AOSP Gravidade Versões afetadas
CVE-2015-3836 ANDROID-21132860 Crítico 5.1 e abaixo

Estouro de buffer em libstagefright MPEG4Extractor.cpp

Existem vários estouros de buffer no libstagefright que podem ocorrer durante o processamento do MP4, levando a corrupção de memória e execução de código potencialmente remota como o processo do servidor de mídia.

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

Este problema é classificado como de gravidade Crítica devido à possibilidade de execução remota de código como o serviço de servidor de mídia privilegiado. Embora o mediaserver seja protegido com SELinux, ele tem acesso a fluxos de áudio e vídeo, bem como acesso a nós de dispositivo de driver de kernel privilegiados em muitos dispositivos que aplicativos de terceiros normalmente não podem acessar.

Inicialmente, esse problema foi relatado como uma exploração local (não acessível remotamente). Observe que, de acordo com nossas diretrizes de classificação de gravidade anteriores, isso foi classificado como uma vulnerabilidade de gravidade moderada e foi relatado aos parceiros como tal. De acordo com nossas novas diretrizes, publicadas em junho de 2015, trata-se de um problema de gravidade Crítica.

CVE Bug(s) com links AOSP Gravidade Versões afetadas
CVE-2015-3832 ANDROID-19641538 Crítico 5.1 e abaixo

Estouro de buffer no mediaserver BpMediaHTTPConnection

Há um potencial estouro de buffer em BpMediaHTTPConnection ao processar dados fornecidos por outro aplicativo, levando à corrupção de memória e possivelmente à execução de código como o processo do servidor de mídia.

A funcionalidade afetada é fornecida como uma API de aplicativo. Não acreditamos que o problema seja explorável remotamente.

Este problema é classificado como de gravidade Alta devido à possibilidade de execução de código como serviço de servidor de mídia privilegiado, a partir de um aplicativo local. Embora o mediaserver seja protegido com SELinux, ele tem acesso a fluxos de áudio e vídeo, bem como acesso a nós de dispositivo de driver de kernel privilegiados em muitos dispositivos que aplicativos de terceiros normalmente não podem acessar.

CVE Bug(s) com links AOSP Gravidade Versões afetadas
CVE-2015-3831 ANDROID-19400722 Alto 5,0 e 5,1

Vulnerabilidade em libpng: estouro em png_Read_IDAT_data

Existe um potencial estouro de buffer que pode ocorrer na leitura de dados IDAT dentro da função png_read_IDAT_data() em libpng, levando à corrupção de memória e possivelmente à execução remota de código em um aplicativo usando esse método.

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

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

CVE Bug(s) com links AOSP Gravidade Versões afetadas
CVE-2015-0973 ANDROID-19499430 Alto 5.1 e abaixo

Estouro de memcpy() explorável remotamente em p2p_add_device() em wpa_supplicant

Quando o wpa_supplicant está operando no modo WLAN Direct, ele fica vulnerável a uma possível execução remota de código devido a um estouro 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.

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

- WLAN Direct não está ativado por padrão na maioria dos dispositivos Android

- A exploração requer que um invasor esteja localmente próximo (dentro do alcance do WiFi)

- 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 posteriores.

- O processo wpa_supplicant é fortemente restrito pela política SELinux no Android 5.0 e superior

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 aplicativos de terceiros que podem classificá-lo como Crítico, acreditamos que os recursos limitados e o nível de mitigação garantem a diminuição da gravidade para Alta.

CVE Bug(s) com links AOSP Gravidade Versões afetadas
CVE-2015-1863 ANDROID-20076874 Alto 5.1 e abaixo

Corrupção de memória na desserialização de certificado OpenSSLX509

Um aplicativo local mal-intencionado pode enviar um Intent que, quando desserializado pelo aplicativo receptor, pode diminuir um valor em um endereço de memória arbitrário, levando à corrupção da memória e potencialmente à execução de código no aplicativo receptor.

Esse problema é classificado como de alta gravidade porque pode ser usado para obter privilégios não acessíveis a um aplicativo de terceiros.

CVE Bug(s) com links AOSP Gravidade Versões afetadas
CVE-2015-3837 ANDROID-21437603 Alto 5.1 e abaixo

Estouro de buffer no mediaserver BnHDCP

Há um potencial estouro de inteiros em libstagefright ao processar dados fornecidos por outro aplicativo, levando à corrupção de memória (heap) e potencialmente à execução de código como o processo do servidor de mídia.

Esse problema é classificado como de alta gravidade porque pode ser usado para obter privilégios não acessíveis a um aplicativo de terceiros. Embora o mediaserver seja protegido com SELinux, ele tem acesso a fluxos de áudio e vídeo, bem como acesso a nós de dispositivo de driver de kernel privilegiados em muitos dispositivos que aplicativos de terceiros normalmente não podem acessar.

Observe que, de acordo com nossas diretrizes de classificação de gravidade anteriores, isso foi classificado como uma vulnerabilidade de gravidade moderada e foi relatado aos parceiros como tal. De acordo com nossas novas diretrizes, publicadas em junho de 2015, é uma vulnerabilidade de alta gravidade.

CVE Bug(s) com links AOSP Gravidade Versões afetadas
CVE-2015-3834 ANDROID-20222489 Alto 5.1 e abaixo

Estouro de buffer em libstagefright OMXNodeInstance::emptyBuffer

Há um potencial estouro de buffer em libstagefright ao processar dados fornecidos por outro aplicativo, levando à corrupção de memória e potencialmente à execução de código como o processo do servidor de mídia.

Esse problema é classificado como de alta gravidade porque pode ser usado para obter privilégios não acessíveis a um aplicativo de terceiros. Embora o mediaserver seja protegido com SELinux, ele tem acesso a fluxos de áudio e vídeo, bem como acesso a nós de dispositivo de driver de kernel privilegiados em muitos dispositivos que aplicativos de terceiros normalmente não podem acessar.

Observe que, de acordo com nossas diretrizes de classificação de gravidade anteriores, isso foi classificado como uma vulnerabilidade de gravidade moderada e foi relatado aos parceiros como tal. De acordo com nossas novas diretrizes, publicadas em junho de 2015, é uma vulnerabilidade de alta gravidade.

CVE Bug(s) com links AOSP Gravidade Versões afetadas
CVE-2015-3835 ANDROID-20634516 [ 2 ] Alto 5.1 e abaixo

Estouro de heap no mediaserver AudioPolicyManager::getInputForAttr()

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

A funcionalidade afetada é fornecida como uma API de aplicativo. Não acreditamos que o problema seja explorável remotamente.

Este problema é classificado como de gravidade Alta devido à possibilidade de execução de código como serviço de servidor de mídia privilegiado, a partir de um aplicativo local. Embora o mediaserver seja protegido com SELinux, ele tem acesso a fluxos de áudio e vídeo, bem como acesso a nós de dispositivo de driver de kernel privilegiados em muitos dispositivos que aplicativos de terceiros normalmente não podem acessar.

CVE Bug(s) com links AOSP Gravidade Versões afetadas
CVE-2015-3842 ANDROID-21953516 Alto 5.1 e abaixo

Os aplicativos podem interceptar ou emular comandos SIM para telefonia

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

Esse problema é classificado com gravidade Alta porque pode permitir que um aplicativo sem privilégios acesse recursos ou dados normalmente protegidos por uma permissão de nível de "assinatura" ou "sistema".

CVE Bug(s) com links AOSP Gravidade Versões afetadas
CVE-2015-3843 ANDROID-21697171 [ 2 , 3 , 4 ] Alto 5.1 e abaixo

Vulnerabilidade no desempacotamento de bitmap

Um estouro de inteiro em Bitmap_createFromParcel() pode permitir que um aplicativo falhe o processo system_server ou leia dados de memória de system_server.

Esse problema é classificado como gravidade moderada devido à possibilidade de vazamento de dados confidenciais 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 Bug(s) com links AOSP Gravidade Versões afetadas
CVE-2015-1536 ANDROID-19666945 Moderado 5.1 e abaixo

AppWidgetServiceImpl pode criar IntentSender com privilégios de sistema

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

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

CVE Bug(s) com links AOSP Gravidade Versões afetadas
CVE-2015-1541 ANDROID-19618745 Moderado 5.1

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

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

Isso é classificado como uma vulnerabilidade de gravidade moderada porque pode permitir que um aplicativo 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 Bug(s) com links AOSP Gravidade Versões afetadas
CVE-2015-3833 ANDROID-20034603 Moderado 5,0 e 5,1

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

O método getProcessRecordLocked() do 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.

As implicações são que um aplicativo pode impedir que as configurações sejam carregadas 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 usuário do "sistema".

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

CVE Bug(s) com links AOSP Gravidade Versões afetadas
CVE-2015-3844 ANDROID-21669445 Moderado 5.1 e abaixo

Buffer ilimitado lido em libstagefright ao analisar metadados 3GPP

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

Esse problema foi originalmente classificado como de gravidade alta e foi relatado aos parceiros como tal, mas após uma investigação mais aprofundada, foi rebaixado para gravidade baixa, pois o impacto é limitado à falha do mediaserver.

CVE Bug(s) com links AOSP Gravidade Versões afetadas
CVE-2015-3826 ANDROID-20923261 Baixo 5,0 e 5,1

Revisões

  • 13 de agosto de 2015: Publicado originalmente