Peter Mann

#50564de 53,639
4.6CVSS total
Vulnerabilidades · 1
PT-2024-35518
4.6
2024-10-31
Linux · Linux Kernel · CVE-2024-53052
**Nome do software vulnerável e versões afetadas** Versões do kernel Linux anteriores à 6.12.0-rc5 **Descrição** O problema ocorre quando o io uring inicia uma gravação, chamando `kiocb start write()` para aumentar o rwsem do superbloco, o que pode causar um impasse se alguém estiver tentando congelar o ponto de montagem. Isso resulta em um rastreamento travado, mostrando a dependência com a gravação bloqueada de iniciar uma nova gravação. O lado do congelamento captura o rwsem para gravação, excluindo novos gravadores e aguardando que as gravações existentes sejam concluídas. No entanto, o io uring usa incondicionalmente `kiocb start write()`, o que bloqueará se alguém estiver tentando congelar o ponto de montagem no momento. Isso pode ser acionado quando `IOCB NOWAIT` não está definido, fazendo com que o io uring tente uma aquisição bloqueante do rwsem do superbloco. A correção envolve fazer com que o lado do io uring respeite `IOCB NOWAIT`, retornando `-EAGAIN` e permitindo que o núcleo do io uring emita uma tentativa de bloqueio da gravação, garantindo o avanço do processo. **Recomendações** Para resolver o problema, atualize o kernel do Linux para uma versão que inclua a correção da verificação `NOWAIT` ausente para o início da gravação `O DIRECT`. Como solução alternativa temporária, considere restringir o uso do io uring para minimizar o risco de exploração. Além disso, certifique-se de que apenas usuários autorizados com privilégios `CAP SYS ADMIN` possam acionar o mecanismo de congelamento, já que usuários comuns não podem explorar essa vulnerabilidade.