xfrm: esp: avoid in-place decrypt on shared skb frags
Corrija agora. Ela exploração observada pelo VulnCheck e tem exploit funcional público.
Declarações oficiais dos fabricantes em formato CSAF/VEX: se o produto deles está afetado, já corrigido ou descartado — e por quê. É afirmação do fabricante, não juízo do Vexday.
Uma falha no kernel do Linux permite que dados criptografados em ESP (protocolo de segurança) sejam descriptografados diretamente na memória compartilhada ao usar UDP com MSG_SPLICE_PAGES, expondo potencialmente o conteúdo dos pacotes.
O caminho de entrada ESP no kernel Linux não marca fragmentos compartilhados de skb com SKBFL_SHARED_FRAG quando datagramas UDP fazem splice de páginas de pipes, permitindo descriptografia in-place sobre memória não privada. O caminho rápido sem COW assume propriedade exclusiva de skbs não-clonados, mas páginas compartilhadas de pipes violam essa suposição. A correção requer definir a flag de fragmento compartilhado para operações UDP splice e retroceder para skb_cow_data() na entrada ESP quando a flag está presente.