CVE-2023-53109

Source
https://nvd.nist.gov/vuln/detail/CVE-2023-53109
Import Source
https://storage.googleapis.com/osv-test-cve-osv-conversion/osv-output/CVE-2023-53109.json
JSON Data
https://api.test.osv.dev/v1/vulns/CVE-2023-53109
Related
Published
2025-05-02T16:15:29Z
Modified
2025-05-05T22:50:01.227574Z
Summary
[none]
Details

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

net: tunnels: annotate lockless accesses to dev->needed_headroom

IP tunnels can apparently update dev->needed_headroom in their xmit path.

This patch takes care of three tunnels xmit, and also the core LLRESERVEDSPACE() and LLRESERVEDSPACE_EXTRA() helpers.

More changes might be needed for completeness.

BUG: KCSAN: data-race in iptunnelxmit / iptunnelxmit

read to 0xffff88815b9da0ec of 2 bytes by task 888 on cpu 1: iptunnelxmit+0x1270/0x1730 net/ipv4/iptunnel.c:803 _grexmit net/ipv4/ipgre.c:469 [inline] ipgrexmit+0x516/0x570 net/ipv4/ipgre.c:661 _netdevstartxmit include/linux/netdevice.h:4881 [inline] netdevstartxmit include/linux/netdevice.h:4895 [inline] xmitone net/core/dev.c:3580 [inline] devhardstartxmit+0x127/0x400 net/core/dev.c:3596 _devqueuexmit+0x1007/0x1eb0 net/core/dev.c:4246 devqueuexmit include/linux/netdevice.h:3051 [inline] neighdirectoutput+0x17/0x20 net/core/neighbour.c:1623 neighoutput include/net/neighbour.h:546 [inline] ipfinishoutput2+0x740/0x840 net/ipv4/ipoutput.c:228 ipfinishoutput+0xf4/0x240 net/ipv4/ipoutput.c:316 NFHOOKCOND include/linux/netfilter.h:291 [inline] ipoutput+0xe5/0x1b0 net/ipv4/ipoutput.c:430 dstoutput include/net/dst.h:444 [inline] iplocalout+0x64/0x80 net/ipv4/ipoutput.c:126 iptunnelxmit+0x34a/0x4b0 net/ipv4/iptunnelcore.c:82 iptunnelxmit+0x1451/0x1730 net/ipv4/iptunnel.c:813 _grexmit net/ipv4/ipgre.c:469 [inline] ipgrexmit+0x516/0x570 net/ipv4/ipgre.c:661 _netdevstartxmit include/linux/netdevice.h:4881 [inline] netdevstartxmit include/linux/netdevice.h:4895 [inline] xmitone net/core/dev.c:3580 [inline] devhardstartxmit+0x127/0x400 net/core/dev.c:3596 _devqueuexmit+0x1007/0x1eb0 net/core/dev.c:4246 devqueuexmit include/linux/netdevice.h:3051 [inline] neighdirectoutput+0x17/0x20 net/core/neighbour.c:1623 neighoutput include/net/neighbour.h:546 [inline] ipfinishoutput2+0x740/0x840 net/ipv4/ipoutput.c:228 ipfinishoutput+0xf4/0x240 net/ipv4/ipoutput.c:316 NFHOOKCOND include/linux/netfilter.h:291 [inline] ipoutput+0xe5/0x1b0 net/ipv4/ipoutput.c:430 dstoutput include/net/dst.h:444 [inline] iplocalout+0x64/0x80 net/ipv4/ipoutput.c:126 iptunnelxmit+0x34a/0x4b0 net/ipv4/iptunnelcore.c:82 iptunnelxmit+0x1451/0x1730 net/ipv4/iptunnel.c:813 _grexmit net/ipv4/ipgre.c:469 [inline] ipgrexmit+0x516/0x570 net/ipv4/ipgre.c:661 _netdevstartxmit include/linux/netdevice.h:4881 [inline] netdevstartxmit include/linux/netdevice.h:4895 [inline] xmitone net/core/dev.c:3580 [inline] devhardstartxmit+0x127/0x400 net/core/dev.c:3596 _devqueuexmit+0x1007/0x1eb0 net/core/dev.c:4246 devqueuexmit include/linux/netdevice.h:3051 [inline] neighdirectoutput+0x17/0x20 net/core/neighbour.c:1623 neighoutput include/net/neighbour.h:546 [inline] ipfinishoutput2+0x740/0x840 net/ipv4/ipoutput.c:228 ipfinishoutput+0xf4/0x240 net/ipv4/ipoutput.c:316 NFHOOKCOND include/linux/netfilter.h:291 [inline] ipoutput+0xe5/0x1b0 net/ipv4/ipoutput.c:430 dstoutput include/net/dst.h:444 [inline] iplocalout+0x64/0x80 net/ipv4/ipoutput.c:126 iptunnelxmit+0x34a/0x4b0 net/ipv4/iptunnelcore.c:82 iptunnelxmit+0x1451/0x1730 net/ipv4/iptunnel.c:813 _grexmit net/ipv4/ipgre.c:469 [inline] ipgrexmit+0x516/0x570 net/ipv4/ipgre.c:661 _netdevstartxmit include/linux/netdevice.h:4881 [inline] netdevstartxmit include/linux/netdevice.h:4895 [inline] xmitone net/core/dev.c:3580 [inline] devhardstartxmit+0x127/0x400 net/core/dev.c:3596 _devqueuexmit+0x1007/0x1eb0 net/core/dev.c:4246 devqueuexmit include/linux/netdevice.h:3051 [inline] neighdirectoutput+0x17/0x20 net/core/neighbour.c:1623 neighoutput include/net/neighbour.h:546 [inline] ipfinishoutput2+0x740/0x840 net/ipv4/ipoutput.c:228 ipfinishoutput+0xf4/0x240 net/ipv4/ipoutput.c:316 NFHOOKCOND include/linux/netfilter.h:291 [inline] ipoutput+0xe5/0x1b0 net/i ---truncated---

References

Affected packages

Debian:11 / 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.10.178-1

Affected versions

5.*

5.10.46-4
5.10.46-5
5.10.70-1~bpo10+1
5.10.70-1
5.10.84-1
5.10.92-1~bpo10+1
5.10.92-1
5.10.92-2
5.10.103-1~bpo10+1
5.10.103-1
5.10.106-1
5.10.113-1
5.10.120-1~bpo10+1
5.10.120-1
5.10.127-1
5.10.127-2~bpo10+1
5.10.127-2
5.10.136-1
5.10.140-1
5.10.148-1
5.10.149-1
5.10.149-2
5.10.158-1
5.10.158-2
5.10.162-1

Ecosystem specific

{
    "urgency": "not yet assigned"
}

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.25-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.1.25-1

Ecosystem specific

{
    "urgency": "not yet assigned"
}