{"id":"DEBIAN-CVE-2025-39874","details":"In the Linux kernel, the following vulnerability has been resolved:  macsec: sync features on RTM_NEWLINK  Syzkaller managed to lock the lower device via ETHTOOL_SFEATURES:   netdev_lock include/linux/netdevice.h:2761 [inline]  netdev_lock_ops include/net/netdev_lock.h:42 [inline]  netdev_sync_lower_features net/core/dev.c:10649 [inline]  __netdev_update_features+0xcb1/0x1be0 net/core/dev.c:10819  netdev_update_features+0x6d/0xe0 net/core/dev.c:10876  macsec_notify+0x2f5/0x660 drivers/net/macsec.c:4533  notifier_call_chain+0x1b3/0x3e0 kernel/notifier.c:85  call_netdevice_notifiers_extack net/core/dev.c:2267 [inline]  call_netdevice_notifiers net/core/dev.c:2281 [inline]  netdev_features_change+0x85/0xc0 net/core/dev.c:1570  __dev_ethtool net/ethtool/ioctl.c:3469 [inline]  dev_ethtool+0x1536/0x19b0 net/ethtool/ioctl.c:3502  dev_ioctl+0x392/0x1150 net/core/dev_ioctl.c:759  It happens because lower features are out of sync with the upper:    __dev_ethtool (real_dev)     netdev_lock_ops(real_dev)     ETHTOOL_SFEATURES       __netdev_features_change         netdev_sync_upper_features           disable LRO on the lower     if (old_features != dev-\u003efeatures)       netdev_features_change         fires NETDEV_FEAT_CHANGE \tmacsec_notify \t  NETDEV_FEAT_CHANGE \t    netdev_update_features (for each macsec dev) \t      netdev_sync_lower_features \t        if (upper_features != lower_features) \t          netdev_lock_ops(lower) # lower == real_dev \t\t  stuck \t\t  ...      netdev_unlock_ops(real_dev)  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 (real_dev) 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.","modified":"2026-09-01T20:04:52.529134705Z","published":"2025-09-23T06:15:46.813Z","upstream":["CVE-2025-39874"],"references":[{"type":"ADVISORY","url":"https://security-tracker.debian.org/tracker/CVE-2025-39874"}],"affected":[{"package":{"name":"linux","ecosystem":"Debian:14","purl":"pkg:deb/debian/linux?arch=source&distro=forky"},"ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"6.16.8-1"}]}],"versions":["6.12.100-1","6.12.101-1","6.12.105-1","6.12.107-1","6.12.38-1","6.12.41-1","6.12.43-1","6.12.43-1~bpo12+1","6.12.48-1","6.12.57-1","6.12.57-1~bpo12+1","6.12.63-1","6.12.63-1~bpo12+1","6.12.69-1","6.12.69-1~bpo12+1","6.12.73-1","6.12.73-1~bpo12+1","6.12.74-1","6.12.74-2","6.12.74-2~bpo12+1","6.12.85-1","6.12.85-1~bpo12+1","6.12.86-1","6.12.86-1~bpo12+1","6.12.88-1","6.12.88-1~bpo12+1","6.12.90-1","6.12.90-1~bpo12+1","6.12.90-2","6.12.90-2~bpo12+1","6.12.94-1","6.12.94-1~bpo12+1","6.12.95-1","6.12.95-1~bpo12+1","6.12.96-1","6.13.10-1~exp1","6.13.11-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~rc6-1~exp1","6.13~rc7-1~exp1","6.14.3-1~exp1","6.14.5-1~exp1","6.14.6-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.15~rc7-1~exp1","6.16-1~exp1","6.16.1-1~exp1","6.16.3-1","6.16.3-1~bpo13+1","6.16.5-1","6.16.6-1","6.16.7-1","6.16~rc7-1~exp1"],"ecosystem_specific":{"urgency":"not yet assigned"},"database_specific":{"source":"https://storage.googleapis.com/debian-osv/debian-cve-osv/DEBIAN-CVE-2025-39874.json"}}],"schema_version":"1.9.0","severity":[{"type":"CVSS_V3","score":"CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H"}]}