ax25: Fix refcount leak caused by setting SO_BINDTODEVICE sockopt
Key facts
- Attack vector
- Local
- Privileges required
- Low
- User interaction
- None
- Attack complexity
- Low
- Impact type
- —
- Confidentiality · integrity · availability
- High · High · High
- Fix status
- Fixed
Attack profile from CVSS 3.1 · CNA. Fix status from CNA.
Summary
In the Linux kernel, the following vulnerability has been resolved: ax25: Fix refcount leak caused by setting SO_BINDTODEVICE sockopt If an AX25 device is bound to a socket by setting the SO_BINDTODEVICE socket option, a refcount leak will occur in ax25_release(). Commit 9fd75b66b8f6 ("ax25: Fix refcount leaks caused by ax25_cb_del()") added decrement of device refcounts in ax25_release(). In order for that to work correctly the refcounts must already be incremented when the device is bound to the socket. An AX25 device can be bound to a socket by either calling ax25_bind() or setting SO_BINDTODEVICE socket option. In both cases the refcounts should be incremented, but in fact it is done only in ax25_bind(). This bug leads to the following issue reported by Syzkaller: ================================================================ refcount_t: decrement hit 0; leaking memory. WARNING: CPU: 1 PID: 5932 at lib/refcount.c:31 refcount_warn_saturate+0x1ed/0x210 lib/refcount.c:31 Modules linked in: CPU: 1 UID: 0 PID: 5932 Comm: syz-executor424 Not tainted 6.13.0-rc4-syzkaller-00110-g4099a71718b0 #0 Hardware name: QEMU Standard PC (Q35 + ICH9, 2009), BIOS 1.16.3-debian-1.16.3-2~bpo12+1 04/01/2014 RIP: 0010:refcount_warn_saturate+0x1ed/0x210 lib/refcount.c:31 Call Trace: <TASK> __refcount_dec include/linux/refcount.h:336 [inline] refcount_dec include/linux/refcount.h:351 [inline] ref_tracker_free+0x710/0x820 lib/ref_tracker.c:236 netdev_tracker_free include/linux/netdevice.h:4156 [inline] netdev_put include/linux/netdevice.h:4173 [inline] netdev_put include/linux/netdevice.h:4169 [inline] ax25_release+0x33f/0xa10 net/ax25/af_ax25.c:1069 __sock_release+0xb0/0x270 net/socket.c:640 sock_close+0x1c/0x30 net/socket.c:1408 ... do_syscall_x64 arch/x86/entry/common.c:52 [inline] do_syscall_64+0xcd/0x250 arch/x86/entry/common.c:83 entry_SYSCALL_64_after_hwframe+0x77/0x7f ... </TASK> ================================================================ Fix the implementation of ax25_setsockopt() by adding increment of refcounts for the new device bound, and decrement of refcounts for the old unbound device.
Why it matters now
SSVC decision points
CISA ADP · SSVC 2.0.3
- Exploitation
- None
- Automatable
- No
- Technical impact
- Partial
The decision (Track, Attend, Act) also depends on your mission and well-being impact; see CISA's SSVC guide.
Affected products
| Vendor | Product | Affected versions | Fixed in | Status | Source |
|---|---|---|---|---|---|
| Linux | Linux | 4.14.277 to before 4.15; 4.19.240 to before 4.20; 5.4.190 to before 5.5; 5.10.112 to before 5.11; 5.15.35 to before 5.16; 5.17.2 to before 5.18 | 4.15, 4.20, 5.5, 5.11, 5.16, 5.18 | Patch available | CNA |
| Linux | Linux | 5.18 and later | 6.1.129, 6.6.79, 6.12.16, 6.13.4, 6.14 | Patch available | CNA |
- Linux VendorLinux Affected 4.14.277 to before 4.15; 4.19.240 to before 4.20; 5.4.190 to before 5.5; 5.10.112 to before 5.11; 5.15.35 to before 5.16; 5.17.2 to before 5.18 Fixed in 4.15, 4.20, 5.5, 5.11, 5.16, 5.18 Patch available CNA
- Linux VendorLinux Affected 5.18 and later Fixed in 6.1.129, 6.6.79, 6.12.16, 6.13.4, 6.14 Patch available CNA
CPE configurations NVD · 3
| CPE | Versions | Role | Vendor |
|---|---|---|---|
| cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 4.14.277 to before 4.15; 4.19.240 to before 4.20; 5.4.190 to before 5.5; 5.10.112 to before 5.11; 5.15.35 to before 5.16; 5.17.2 to before 6.1.129; 6.2 to before 6.6.79; 6.7 to before 6.12.16; 6.13 to before 6.13.4 | Vulnerable | Linux |
| cpe:2.3:o:linux:linux_kernel:6.14:rc1:*:*:*:*:*:* | 6.14 rc1 | Vulnerable | Linux |
| cpe:2.3:o:linux:linux_kernel:6.14:rc2:*:*:*:*:*:* | 6.14 rc2 | Vulnerable | Linux |
- cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* Versions 4.14.277 to before 4.15; 4.19.240 to before 4.20; 5.4.190 to before 5.5; 5.10.112 to before 5.11; 5.15.35 to before 5.16; 5.17.2 to before 6.1.129; 6.2 to before 6.6.79; 6.7 to before 6.12.16; 6.13 to before 6.13.4 Vulnerable ·Linux
- cpe:2.3:o:linux:linux_kernel:6.14:rc1:*:*:*:*:*:* Versions 6.14 rc1 Vulnerable ·Linux
- cpe:2.3:o:linux:linux_kernel:6.14:rc2:*:*:*:*:*:* Versions 6.14 rc2 Vulnerable ·Linux
Remediation
- Fix · CNA Linux (Linux) Fixed in 4.15, 4.20, 5.5, 5.11, 5.16, 5.18
- Fix · CNA Linux (Linux) Fixed in 6.1.129, 6.6.79, 6.12.16, 6.13.4, 6.14
Vendor assessments
Red Hat
Red Hat rating: Moderate. Red Hat's page for this CVE →
Not affected: 5 products
- Red Hat Enterprise Linux 10
- Red Hat Enterprise Linux 6
- Red Hat Enterprise Linux 7
- Red Hat Enterprise Linux 8
- Red Hat Enterprise Linux 9
Timeline
- 2026-10-02 Threatist record created from CVE-2025-21792
- 2026-10-03 Alias added: GHSA-pw8p-q2m4-9ch4
References
Patch 5
- https://git.kernel.org/stable/c/90056ece99966182dc0e367f3fd2afab46ada847
- https://git.kernel.org/stable/c/94a0de224ed52eb2ecd4f4cb1b937b674c9fb955
- https://git.kernel.org/stable/c/b58f7ca86a7b8e480c06e30c5163c5d2f4e24023
- https://git.kernel.org/stable/c/470bda72fda0fcf54300466d70ce2de62f7835d2
- https://git.kernel.org/stable/c/bca0902e61731a75fc4860c8720168d9f1bae3b6
More Linux Kernel vulnerabilities
- TI-2025-26358 tls: fix handling of zero-length records on the rx_list KEVCVSS 3.1CRITICAL 9.8
- TI-2026-38352 netfilter: bridge: make ebt_snat ARP rewrite writable KEVCVSS 3.1HIGH 8.8
- TI-2013-05264 The (1) get_user and (2) put_user API functions in the Linux kernel before 3.5.5 on the… KEVCVSS 3.1HIGH 8.8
- TI-2022-00125 Integer overflow in kernel KEVCVSS 3.1HIGH 8.4
- TI-2013-01864 The perf_swevent_init function in kernel/events/core.c in the Linux kernel before 3.8.9… KEVCVSS 3.1HIGH 8.4
- TI-2021-05514 Heap Out-Of-Bounds Write in Netfilter IP6T_SO_SET_REPLACE KEVCVSS 3.1HIGH 8.3
Sources
- CVE-2025-21792 · CVE Program
- CVE-2025-21792 · NVD
- FIRST EPSS
- GHSA-pw8p-q2m4-9ch4 · GitHub Advisory Database · CC BY 4.0
- CVE-2025-21792 · Red Hat security data · CC BY 4.0
This product uses the NVD API but is not endorsed or certified by the NVD. Sources and licences