CVE-2024-35892

Source
https://nvd.nist.gov/vuln/detail/CVE-2024-35892
Import Source
https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2024-35892.json
JSON Data
https://api.osv.dev/v1/vulns/CVE-2024-35892
Related
Published
2024-05-19T09:15:10Z
Modified
2024-09-18T03:25:58.461517Z
Summary
[none]
Details

In the Linux kernel, the following vulnerability has been resolved:

net/sched: fix lockdep splat in qdisctreereduce_backlog()

qdisctreereduce_backlog() is called with the qdisc lock held, not RTNL.

We must use qdisclookuprcu() instead of qdisc_lookup()

syzbot reported:

WARNING: suspicious RCU usage

6.1.74-syzkaller #0 Not tainted

net/sched/schapi.c:305 suspicious rcudereference_protected() usage!

other info that might help us debug this:

rcuscheduleractive = 2, debuglocks = 1 3 locks held by udevd/1142: #0: ffffffff87c729a0 (rcureadlock){....}-{1:2}, at: rculockacquire include/linux/rcupdate.h:306 [inline] #0: ffffffff87c729a0 (rcureadlock){....}-{1:2}, at: rcureadlock include/linux/rcupdate.h:747 [inline] #0: ffffffff87c729a0 (rcureadlock){....}-{1:2}, at: nettxaction+0x64a/0x970 net/core/dev.c:5282 #1: ffff888171861108 (&sch->q.lock){+.-.}-{2:2}, at: spinlock include/linux/spinlock.h:350 [inline] #1: ffff888171861108 (&sch->q.lock){+.-.}-{2:2}, at: nettxaction+0x754/0x970 net/core/dev.c:5297 #2: ffffffff87c729a0 (rcureadlock){....}-{1:2}, at: rculockacquire include/linux/rcupdate.h:306 [inline] #2: ffffffff87c729a0 (rcureadlock){....}-{1:2}, at: rcureadlock include/linux/rcupdate.h:747 [inline] #2: ffffffff87c729a0 (rcureadlock){....}-{1:2}, at: qdisctreereducebacklog+0x84/0x580 net/sched/schapi.c:792

stack backtrace: CPU: 1 PID: 1142 Comm: udevd Not tainted 6.1.74-syzkaller #0 Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 01/25/2024 Call Trace: <TASK> [<ffffffff85b85f14>] _dumpstack lib/dumpstack.c:88 [inline] [<ffffffff85b85f14>] dumpstacklvl+0x1b1/0x28f lib/dumpstack.c:106 [<ffffffff85b86007>] dumpstack+0x15/0x1e lib/dumpstack.c:113 [<ffffffff81802299>] lockdeprcususpicious+0x1b9/0x260 kernel/locking/lockdep.c:6592 [<ffffffff84f0054c>] qdisclookup+0xac/0x6f0 net/sched/schapi.c:305 [<ffffffff84f037c3>] qdisctreereducebacklog+0x243/0x580 net/sched/schapi.c:811 [<ffffffff84f5b78c>] pfifotailenqueue+0x32c/0x4b0 net/sched/schfifo.c:51 [<ffffffff84fbcf63>] qdiscenqueue include/net/schgeneric.h:833 [inline] [<ffffffff84fbcf63>] netemdequeue+0xeb3/0x15d0 net/sched/schnetem.c:723 [<ffffffff84eecab9>] dequeueskb net/sched/schgeneric.c:292 [inline] [<ffffffff84eecab9>] qdiscrestart net/sched/schgeneric.c:397 [inline] [<ffffffff84eecab9>] _qdiscrun+0x249/0x1e60 net/sched/schgeneric.c:415 [<ffffffff84d7aa96>] qdiscrun+0xd6/0x260 include/net/pktsched.h:125 [<ffffffff84d85d29>] nettxaction+0x7c9/0x970 net/core/dev.c:5313 [<ffffffff85e002bd>] _dosoftirq+0x2bd/0x9bd kernel/softirq.c:616 [<ffffffff81568bca>] invokesoftirq kernel/softirq.c:447 [inline] [<ffffffff81568bca>] _irqexitrcu+0xca/0x230 kernel/softirq.c:700 [<ffffffff81568ae9>] irqexitrcu+0x9/0x20 kernel/softirq.c:712 [<ffffffff85b89f52>] sysvecapictimerinterrupt+0x42/0x90 arch/x86/kernel/apic/apic.c:1107 [<ffffffff85c00ccb>] asmsysvecapictimer_interrupt+0x1b/0x20 arch/x86/include/asm/idtentry.h:656

References

Affected packages

Debian:12 / linux

Package

Name
linux
Purl
pkg:deb/debian/linux?arch=source

Affected ranges

Type
ECOSYSTEM
Events
Introduced
0Unknown introduced version / All previous versions are affected
Fixed
6.1.85-1

Affected versions

6.*

6.1.27-1
6.1.37-1
6.1.38-1
6.1.38-2~bpo11+1
6.1.38-2
6.1.38-3
6.1.38-4~bpo11+1
6.1.38-4
6.1.52-1
6.1.55-1~bpo11+1
6.1.55-1
6.1.64-1
6.1.66-1
6.1.67-1
6.1.69-1~bpo11+1
6.1.69-1
6.1.76-1~bpo11+1
6.1.76-1
6.1.82-1

Ecosystem specific

{
    "urgency": "not yet assigned"
}

Debian:13 / linux

Package

Name
linux
Purl
pkg:deb/debian/linux?arch=source

Affected ranges

Type
ECOSYSTEM
Events
Introduced
0Unknown introduced version / All previous versions are affected
Fixed
6.8.9-1

Affected versions

6.*

6.1.27-1
6.1.37-1
6.1.38-1
6.1.38-2~bpo11+1
6.1.38-2
6.1.38-3
6.1.38-4~bpo11+1
6.1.38-4
6.1.52-1
6.1.55-1~bpo11+1
6.1.55-1
6.1.64-1
6.1.66-1
6.1.67-1
6.1.69-1~bpo11+1
6.1.69-1
6.1.76-1~bpo11+1
6.1.76-1
6.1.82-1
6.1.85-1
6.1.90-1~bpo11+1
6.1.90-1
6.1.94-1~bpo11+1
6.1.94-1
6.1.98-1
6.1.99-1
6.1.106-1
6.1.106-2
6.1.106-3
6.3.1-1~exp1
6.3.2-1~exp1
6.3.4-1~exp1
6.3.5-1~exp1
6.3.7-1~bpo12+1
6.3.7-1
6.3.11-1
6.4~rc6-1~exp1
6.4~rc7-1~exp1
6.4.1-1~exp1
6.4.4-1~bpo12+1
6.4.4-1
6.4.4-2
6.4.4-3~bpo12+1
6.4.4-3
6.4.11-1
6.4.13-1
6.5~rc4-1~exp1
6.5~rc6-1~exp1
6.5~rc7-1~exp1
6.5.1-1~exp1
6.5.3-1~bpo12+1
6.5.3-1
6.5.6-1
6.5.8-1
6.5.10-1~bpo12+1
6.5.10-1
6.5.13-1
6.6.3-1~exp1
6.6.4-1~exp1
6.6.7-1~exp1
6.6.8-1
6.6.9-1
6.6.11-1
6.6.13-1~bpo12+1
6.6.13-1
6.6.15-1
6.6.15-2
6.7-1~exp1
6.7.1-1~exp1
6.7.4-1~exp1
6.7.7-1
6.7.9-1
6.7.9-2
6.7.12-1~bpo12+1
6.7.12-1

Ecosystem specific

{
    "urgency": "not yet assigned"
}