CVE-2022-49456

Source
https://nvd.nist.gov/vuln/detail/CVE-2022-49456
Import Source
https://storage.googleapis.com/osv-test-cve-osv-conversion/osv-output/CVE-2022-49456.json
JSON Data
https://api.test.osv.dev/v1/vulns/CVE-2022-49456
Related
Published
2025-02-26T07:01:21Z
Modified
2025-02-26T07:01:21Z
Summary
[none]
Details

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

bonding: fix missed rcu protection

When removing the rcureadlock in bondethtoolgettsinfo() as discussed [1], I didn't notice it could be called via setsockopt, which doesn't hold rcu lock, as syzbot pointed:

stack backtrace: CPU: 0 PID: 3599 Comm: syz-executor317 Not tainted 5.18.0-rc5-syzkaller-01392-g01f4685797a5 #0 Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 01/01/2011 Call Trace: <TASK> _dumpstack lib/dumpstack.c:88 [inline] dumpstacklvl+0xcd/0x134 lib/dumpstack.c:106 bondoptionactiveslavegetrcu include/net/bonding.h:353 [inline] bondethtoolgettsinfo+0x32c/0x3a0 drivers/net/bonding/bondmain.c:5595 _ethtoolgettsinfo+0x173/0x240 net/ethtool/common.c:554 ethtoolgetphcvclocks+0x99/0x110 net/ethtool/common.c:568 socktimestampingbindphc net/core/sock.c:869 [inline] socksettimestamping+0x3a3/0x7e0 net/core/sock.c:916 socksetsockopt+0x543/0x2ec0 net/core/sock.c:1221 _syssetsockopt+0x55e/0x6a0 net/socket.c:2223 _dosyssetsockopt net/socket.c:2238 [inline] _sesyssetsockopt net/socket.c:2235 [inline] _x64syssetsockopt+0xba/0x150 net/socket.c:2235 dosyscallx64 arch/x86/entry/common.c:50 [inline] dosyscall64+0x35/0xb0 arch/x86/entry/common.c:80 entrySYSCALL64afterhwframe+0x44/0xae RIP: 0033:0x7f8902c8eb39

Fix it by adding rcureadlock and take a ref on the realdev. Since devhold() and devput() can take NULL these days, we can skip checking if realdev exist.

[1] https://lore.kernel.org/netdev/27565.1642742439@famine/

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
5.18.5-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
5.18.5-1

Ecosystem specific

{
    "urgency": "not yet assigned"
}