DEBIAN-CVE-2025-39874

Source
https://security-tracker.debian.org/tracker/CVE-2025-39874
Import Source
https://storage.googleapis.com/debian-osv/debian-cve-osv/DEBIAN-CVE-2025-39874.json
JSON Data
https://api.osv.dev/v1/vulns/DEBIAN-CVE-2025-39874
Upstream
Published
2025-09-23T06:15:46Z
Modified
2025-09-27T11:10:54.814512Z
Summary
[none]
Details

In the Linux kernel, the following vulnerability has been resolved: macsec: sync features on RTMNEWLINK Syzkaller managed to lock the lower device via ETHTOOLSFEATURES: netdevlock include/linux/netdevice.h:2761 [inline] netdevlockops include/net/netdevlock.h:42 [inline] netdevsynclowerfeatures net/core/dev.c:10649 [inline] _netdevupdatefeatures+0xcb1/0x1be0 net/core/dev.c:10819 netdevupdatefeatures+0x6d/0xe0 net/core/dev.c:10876 macsecnotify+0x2f5/0x660 drivers/net/macsec.c:4533 notifiercallchain+0x1b3/0x3e0 kernel/notifier.c:85 callnetdevicenotifiersextack net/core/dev.c:2267 [inline] callnetdevicenotifiers net/core/dev.c:2281 [inline] netdevfeatureschange+0x85/0xc0 net/core/dev.c:1570 _devethtool net/ethtool/ioctl.c:3469 [inline] devethtool+0x1536/0x19b0 net/ethtool/ioctl.c:3502 devioctl+0x392/0x1150 net/core/devioctl.c:759 It happens because lower features are out of sync with the upper: _devethtool (realdev) netdevlockops(realdev) ETHTOOLSFEATURES _netdevfeatureschange netdevsyncupperfeatures disable LRO on the lower if (oldfeatures != dev->features) netdevfeatureschange fires NETDEVFEATCHANGE macsecnotify NETDEVFEATCHANGE netdevupdatefeatures (for each macsec dev) netdevsynclowerfeatures if (upperfeatures != lowerfeatures) netdevlockops(lower) # lower == realdev stuck ... netdevunlockops(realdev) Per commit af5f54b0ef9e ("net: Lock lower level devices when updating features"), we elide the lock/unlock when the upper and lower features are synced. Makes sure the lower (realdev) has proper features after the macsec link has been created. This makes sure we never hit the situation where we need to sync upper flags to the lower.

References

Affected packages

Debian:14 / 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.16.8-1

Affected versions

6.*

6.12.38-1
6.12.41-1
6.12.43-1~bpo12+1
6.12.43-1
6.12.48-1
6.13~rc6-1~exp1
6.13~rc7-1~exp1
6.13.2-1~exp1
6.13.3-1~exp1
6.13.4-1~exp1
6.13.5-1~exp1
6.13.6-1~exp1
6.13.7-1~exp1
6.13.8-1~exp1
6.13.9-1~exp1
6.13.10-1~exp1
6.13.11-1~exp1
6.14.3-1~exp1
6.14.5-1~exp1
6.14.6-1~exp1
6.15~rc7-1~exp1
6.15-1~exp1
6.15.1-1~exp1
6.15.2-1~exp1
6.15.3-1~exp1
6.15.4-1~exp1
6.15.5-1~exp1
6.15.6-1~exp1
6.16~rc7-1~exp1
6.16-1~exp1
6.16.1-1~exp1
6.16.3-1~bpo13+1
6.16.3-1
6.16.5-1
6.16.6-1
6.16.7-1

Ecosystem specific

{
    "urgency": "not yet assigned"
}