Injeção de teclas por Bluetooth no Android, Linux, macOS e iOS
Implementações de Bluetooth em Android, Linux, macOS e iOS contêm uma vulnerabilidade de injeção de teclas (CVE-2023-45866) que permite a um invasor próximo se passar por um teclado e enviar comandos sem confirmação do usuário, em alguns casos mesmo quando o dispositivo apenas tem Bluetooth ativado. Os comentaristas analisam como diferentes pilhas ficaram expostas — desde padrões inseguros ou guiados por compatibilidade retroativa no BlueZ do Linux até o comportamento de pareamento automático “mágico” da Apple — e observam que atualizações recentes de sistema corrigem o problema em muitas plataformas, embora sistemas Apple mais antigos permaneçam sem patch. A mitigação prática vai desde desativar o Bluetooth ou reforçar a configuração (por exemplo, `ClassicBondedOnly=true` no BlueZ) até preferir periféricos com fio, enquanto permanecem dúvidas sobre a exposição do Windows e sobre o trade-off mais amplo entre conveniência sem fio e segurança.
Escopo da Vulnerabilidade
- CVE-2023-45866 permite que dispositivos Bluetooth se passem por teclados e injetem teclas ao abusar do comportamento de pareamento “não autenticado” na especificação Bluetooth, além de bugs de implementação.
- O ataque pode funcionar sem confirmação do usuário e, em alguns casos, sem que um teclado confiável existente esteja ativo.
- Impacto prático: abrir terminais, instalar software (quando não há autenticação extra), discar números ou disparar ações incômodas; ataques mais graves podem exigir encadeamento com outras vulnerabilidades.
Notas Específicas por Plataforma
- Android
- Descrito como “um prato cheio”: vulnerável sempre que o Bluetooth está ativado, não apenas quando está detectável.
- O boletim de segurança do Android de dezembro de 2023 inclui uma correção; alguns derivados (por exemplo, DivestOS) também retroportaram patches para versões mais antigas.
- Linux / BlueZ
- O problema subjacente foi corrigido em 2020, mas foi distribuído desativado por padrão (“insecure default”) por compatibilidade com dispositivos mais antigos.
- A mitigação é a flag de configuração
ClassicBondedOnly=true; algumas distros e o ChromeOS agora a habilitam por padrão.
- macOS / iOS
- Vulnerável quando o Bluetooth está ativado e um Magic Keyboard já foi pareado.
- Corrigido nas versões atuais (macOS 14.2, iOS 17.2), mas não retroportado para macOS 13 / iOS 16, o que frustra usuários que dependem de dispositivos antigos “suportados”.
- Os detalhes de como o pareamento do “Magic Keyboard” é abusado permanecem pouco claros; há dúvidas sobre se apenas o pareamento histórico já é suficiente.
- Windows
- Não mencionado no texto; não está claro se é afetado ou apenas não foi testado. Alguns querem detalhes arquiteturais; outros observam que existem ataques separados no estilo HID por meio de outras ferramentas.
Mitigações e Praticidade
- Conselho comum:
- Desativar o Bluetooth quando não for necessário (difícil ou não persistente no iOS/macOS; fácil no Android).
- No Linux, definir explicitamente
ClassicBondedOnly=truee reiniciar o Bluetooth.
- Alguns argumentam que o risco é menor em telefones bloqueados ou em dispositivos em que instalar apps exige biometria/senha; outros observam que muitos dispositivos ficam desbloqueados ou despertam facilmente.
- Quiosques e máquinas sem supervisão são vistos como especialmente expostos.
Segurança vs Usabilidade / Sem fio vs Com fio
- Forte tema de “conveniência/compatibilidade retroativa vs segurança”, com críticas a padrões inseguros e comportamentos de pareamento automático.
- Debate sobre Bluetooth em geral: visto por muitos como frágil e inseguro em comparação com conexões com fio; outros relatam experiência estável e de baixa latência com hardware moderno.
- Vários participantes reafirmam a preferência por teclados com fio tanto por confiabilidade quanto por segurança, embora outros priorizem ergonomia e estética de configurações sem fio.