CVE-2026-68138
net/sched: serializar qdisc_rtab_list contra get/put concorrentes
- Publicado
- 10 de ago. de 2026
- Atualizado
- 23 de ago. de 2026
- Atribuindo CNA
- Linux
- Evidência observada
- 19 de ago. de 2026
CVSS primário
nvd · CVSS 3.1
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:HBaixo · próximos 30 dias
- Percentil
- 21,0%
- Data do modelo
- 21 de set. de 2026
EPSS é uma estimativa estatística, não uma certeza ou uma medida de impacto. Combine-o com CVSS, status KEV, exposição e seu ambiente.
Resumo
No Linux kernel, a seguinte vulnerabilidade foi resolvida: net/sched: serializar qdisc_rtab_list contra get/put concorrentes qdisc_get_rtab() e qdisc_put_rtab() alteram a lista encadeada individual global do processo qdisc_rtab_list e um 'int refcnt' simples não atômico, sem bloqueio. Isso só era seguro porque historicamente todo chamador mantinha o mutex RTNL, que serializava todas as buscas, inserções e liberações da tabela de taxas. Essa invariante não é mais válida. cls_flower define TCF_PROTO_OPS_DOIT_UNLOCKED, então tc_new_tfilter() mantém rtnl_held == false para ele e define TCA_ACT_FLAGS_NO_RTNL. Esse sinalizador se propaga por tcf_exts_validate_ex() -> tcf_action_init() -> tcf_action_init_1() -> tcf_police_init(), que chama qdisc_get_rtab()/qdisc_put_rtab() com o mutex RTNL NÃO mantido. Duas solicitações RTM_NEWTFILTER em CPUs diferentes, cada uma adicionando um filtro flower com uma ação police carregando a mesma taxa, então disputam qdisc_rtab_list e o refcnt não atômico, levando a um use-after-free / double-free da struct qdisc_rate_table kmalloc-2k. qdisc_rtab_list é um único global (não por netns), então o objeto corrompido é compartilhado em todo o sistema. BUG: KASAN: slab-use-after-free em qdisc_put_rtab+0x12f/0x160 qdisc_put_rtab+0x12f/0x160 tcf_police_init+0xda9/0x1590 tcf_action_init_1+0x460/0x6b0 tcf_action_init+0x439/0xa40 tcf_exts_validate_ex+0x42d/0x550 fl_change+0xddd/0x7da0 tc_new_tfilter+0xaa7/0x2420 rtnetlink_rcv_msg+0x95e/0xe90 que pertence ao cache kmalloc-2k de tamanho 2048 Proteja qdisc_rtab_list e o refcount com um spinlock dedicado. A alocação (que dorme, GFP_KERNEL) em qdisc_get_rtab() é realizada antes de adquirir o bloqueio; se um inseridor concorrente adicionou uma tabela idêntica nesse meio tempo, a recém-alocada é liberada sob o bloqueio, então nenhuma duplicata é vazada. qdisc_put_rtab() agora decrementa o refcount e desvincula sob o mesmo bloqueio.
Fontes
3- CVE-2026-68138Exploit
Exploit de prova de conceito para escalonamento local de privilégios em uma condição de corrida na rate-table do qdisc do Linux, usando heap grooming com BPF e um vazamento via pipe para obter root.
- CVE-2026-68138Informativo
Rastreie o status de correção da CVE-2026-68138, um use-after-free na rate-table do qdisc net/sched do kernel Linux, com versões afetadas/corrigidas, commits upstream e estado de correção atualizado automaticamente por distribuição.
- CVE-2026-68138Exploit
Exploit de escalada de privilégios local para Linux que visa CVE-2026-68138 para elevar privilégios de usuários não privilegiados a root em sistemas vulneráveis.
Uso responsável
Use informações de vulnerabilidade apenas em sistemas que você possui ou está autorizado a testar. O Kitploit vincula-se a metadados de pesquisa pública e não armazena código de exploração ou cargas maliciosas.