Weaknesses of type CWE-925

3 results

Verificação inadequada de intenção em receptores de broadcast

Um broadcast receiver no Android recebe mensagens do sistema ou de outras apps sem validar corretamente quem as enviou. Isto permite que uma app maliciosa envie broadcasts falsificadas, fazendo o receptor executar ações não autorizadas ou expor dados sensíveis.

Example

Uma app bancária registra um broadcast receiver para atualizar saldo ao receber um broadcast chamado 'com.banco.SALDO_ATUALIZADO'. Se não validar quem enviou, uma app maliciosa pode disparar o mesmo broadcast falsificado e forçar a app a buscar dados sensíveis ou abrir uma tela de login.

How to mitigate

Use permissões explícitas ao enviar broadcasts (explicit intent), valide o assinante com verificação de certificado/assinatura de app, prefira LocalBroadcastManager, ou implemente autenticação interna antes de processar dados críticos. Ao receber, sempre confirme a origem legítima da intenção.