Embora o IO_uring tenha sido uma das maiores inovações do kernel do Linux nos últimos anos por ajudar a fornecer E/S com mais desempenho e eficiência, também abriga várias vulnerabilidades de segurança. Devido a problemas de segurança contínuos, essa interface para E/S assíncrona está sendo restrita ou totalmente desativada nos produtos do Google. Portanto, o Google limita uso de IO_uring devido a vulnerabilidades de segurança.
O blog de segurança do Google observou que 60% dos envios para o Programa de Recompensas de Vulnerabilidade do Google foram em torno de IO_uring. O Google pagou cerca de 1 milhão de dólares em vulnerabilidades IO_uring de seu programa de recompensas.
Google limita uso de IO_uring devido a vulnerabilidades de segurança
Como resultado, o Google desativou o IO_uring no Chrome OS até encontrar um meio de colocá-lo em uma área restrita. Enquanto isso, o Android do Google está usando um filtro seccomp-bpf para que os aplicativos não possam usá-lo, enquanto as versões futuras do Android usarão o SELinux para limitar o IO_uring para selecionar processos do sistema. O Google também está trabalhando para desativar o IO_uring por padrão no GKE AutoPilot. Por fim, eles desativaram o uso de IO_uring nos servidores de produção do Google.O blog de segurança do Google observou:
Embora io_uring traga benefícios de desempenho e reaja prontamente a problemas de segurança com correções de segurança abrangentes (como backporting da versão 5.15 para a árvore estável 5.10), é uma parte relativamente nova do kernel.
Como tal, io_uring continua a ser desenvolvido ativamente, mas ainda é afetado por vulnerabilidades graves e também fornece fortes primitivas de exploração. Por esses motivos, atualmente o consideramos seguro apenas para uso por componentes confiáveis.
Leia mais no blog de segurança do Google.