![]() |
Home ▼ Bookkeeping
Online ▼ Security
Audits ▼
Managed
DNS ▼
About
Order
FAQ
Acceptable Use Policy
Dynamic DNS Clients
Configure Domains Dyanmic DNS Update Password Network
Monitor ▼
Enterprise Package
Advanced Package
Standard Package
Free Trial
FAQ
Price/Feature Summary
Order/Renew
Examples
Configure/Status Alert Profiles | ||
CVE ID: | CVE-2024-35886 |
Description: | In the Linux kernel, the following vulnerability has been resolved:
ipv6: Fix infinite recursion in fib6_dump_done(). syzkaller reported
infinite recursive calls of fib6_dump_done() during netlink socket
destruction. [1] From the log, syzkaller sent an AF_UNSPEC
RTM_GETROUTE message, and then the response was generated. The
following recvmmsg() resumed the dump for IPv6, but the first call of
inet6_dump_fib() failed at kzalloc() due to the fault injection. [0]
12:01:34 executing program 3: r0 = socket$nl_route(0x10, 0x3, 0x0)
sendmsg$nl_route(r0, ... snip ...) recvmmsg(r0, ... snip ...)
(fail_nth: 8) Here, fib6_dump_done() was set to nlk_sk(sk)->cb.done,
and the next call of inet6_dump_fib() set it to
nlk_sk(sk)->cb.args[3]. syzkaller stopped receiving the response
halfway through, and finally netlink_sock_destruct() called
nlk_sk(sk)->cb.done(). fib6_dump_done() calls fib6_dump_end() and
nlk_sk(sk)->cb.done() if it is still not NULL. fib6_dump_end()
rewrites nlk_sk(sk)->cb.done() by nlk_sk(sk)->cb.args[3], but it has
the same function, not NULL, calling itself recursively and hitting
the stack guard page. To avoid the issue, let's set the destructor
after kzalloc(). [0]: FAULT_INJECTION: forcing a failure. name
failslab, interval 1, probability 0, space 0, times 0 CPU: 1 PID:
432110 Comm: syz-executor.3 Not tainted
6.8.0-12821-g537c2e91d354-dirty #11 Hardware name: QEMU Standard PC
(i440FX + PIIX, 1996), BIOS
rel-1.16.0-0-gd239552ce722-prebuilt.qemu.org 04/01/2014 Call Trace:
|
Test IDs: | None available |
Cross References: |
Common Vulnerability Exposure (CVE) ID: CVE-2024-35886 https://git.kernel.org/stable/c/167d4b47a9bdcb01541dfa29e9f3cbb8edd3dfd2 https://git.kernel.org/stable/c/167d4b47a9bdcb01541dfa29e9f3cbb8edd3dfd2 https://git.kernel.org/stable/c/40a344b2ddc06c1a2caa7208a43911f39c662778 https://git.kernel.org/stable/c/40a344b2ddc06c1a2caa7208a43911f39c662778 https://git.kernel.org/stable/c/4a7c465a5dcd657d59d25bf4815e19ac05c13061 https://git.kernel.org/stable/c/4a7c465a5dcd657d59d25bf4815e19ac05c13061 https://git.kernel.org/stable/c/9472d07cd095cbd3294ac54c42f304a38fbe9bfe https://git.kernel.org/stable/c/9472d07cd095cbd3294ac54c42f304a38fbe9bfe https://git.kernel.org/stable/c/9c5258196182c25b55c33167cd72fdd9bbf08985 https://git.kernel.org/stable/c/9c5258196182c25b55c33167cd72fdd9bbf08985 https://git.kernel.org/stable/c/d21d40605bca7bd5fc23ef03d4c1ca1f48bc2cae https://git.kernel.org/stable/c/d21d40605bca7bd5fc23ef03d4c1ca1f48bc2cae https://git.kernel.org/stable/c/f2dd75e57285f49e34af1a5b6cd8945c08243776 https://git.kernel.org/stable/c/f2dd75e57285f49e34af1a5b6cd8945c08243776 https://git.kernel.org/stable/c/fd307f2d91d40fa7bc55df3e2cd1253fabf8a2d6 https://git.kernel.org/stable/c/fd307f2d91d40fa7bc55df3e2cd1253fabf8a2d6 |