In the Linux kernel, the following vulnerability has been resolved:
ax25: Remove broken autobind
Binding AX25 socket by using the autobind feature leads to memory leaks in ax25_connect() and also refcount leaks in ax25_release(). Memory leak was detected with kmemleak:
================================================================ unreferenced object 0xffff8880253cd680 (size 96): backtrace: __kmalloc_node_track_caller_noprof (./include/linux/kmemleak.h:43) kmemdup_noprof (mm/util.c:136) ax25_rt_autobind (net/ax25/ax25_route.c:428) ax25_connect (net/ax25/af_ax25.c:1282) __sys_connect_file (net/socket.c:2045) __sys_connect (net/socket.c:2064) __x64_sys_connect (net/socket.c:2067) do_syscall_64 (arch/x86/entry/common.c:52 arch/x86/entry/common.c:83) entry_SYSCALL_64_after_hwframe (arch/x86/entry/entry_64.S:130) ================================================================
When socket is bound, refcounts must be incremented the way it is done in ax25_bind() and ax25_setsockopt() (SO_BINDTODEVICE). In case of autobind, the refcounts are not incremented.
This bug leads to the following issue reported by Syzkaller:
================================================================ ax25_connect(): syz-executor318 uses autobind, please contact [email protected] ------------[ cut here ]------------ refcount_t: decrement hit 0; leaking memory. WARNING: CPU: 0 PID: 5317 at lib/refcount.c:31 refcount_warn_saturate+0xfa/0x1d0 lib/refcount.c:31 Modules linked in: CPU: 0 UID: 0 PID: 5317 Comm: syz-executor318 Not tainted 6.14.0-rc4-syzkaller-00278-gece144f151ac #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+0xfa/0x1d0 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+0x6af/0x7e0 lib/ref_tracker.c:236 netdev_tracker_free include/linux/netdevice.h:4302 [inline] netdev_put include/linux/netdevice.h:4319 [inline] ax25_release+0x368/0x960 net/ax25/af_ax25.c:1080 __sock_release net/socket.c:647 [inline] sock_close+0xbc/0x240 net/socket.c:1398 __fput+0x3e9/0x9f0 fs/file_table.c:464 __do_sys_close fs/open.c:1580 [inline] __se_sys_close fs/open.c:1565 [inline] __x64_sys_close+0x7f/0x110 fs/open.c:1565 do_syscall_x64 arch/x86/entry/common.c:52 [inline] do_syscall_64+0xf3/0x230 arch/x86/entry/common.c:83 entry_SYSCALL_64_after_hwframe+0x77/0x7f ... </TASK> ================================================================
Considering the issues above and the comments left in the code that say: "check if we can remove this feature. It is broken."; "autobinding in this may or may not work"; - it is better to completely remove this feature than to fix it because it is broken and leads to various kinds of memory bugs.
Now calling connect() without first binding socket will result in an error (-EINVAL). Userspace software that relies on the autobind feature might get broken. However, this feature does not seem widely used with this specific driver as it was not reliable at any point of time, and it is already broken anyway. E.g. ax25-tools and ax25-apps packages for popular distributions do not use the autobind feature for AF_AX25.
Found by Linux Verification Center (linuxtesting.org) with Syzkaller.
| Product | Vendor Advisory | Solution File | Added | Published |
|---|---|---|---|---|
| Debian | — | No solution exists | May 15, 2025 | Apr 16, 2025 |
| Suse | — | Upgrade kernel-64kb-develUpgrade kernel-rt_debugUpgrade dtb-xilinxUpgrade kernel-develUpgrade kernel-sourceUpgrade dtb-amdUpgrade kernel-symsUpgrade kernel-default-extraUpgrade dtb-apmUpgrade kernel-debug-develUpgrade dlm-kmp-64kbUpgrade kernel-default-optionalUpgrade kernel-rt_debug-vdsoUpgrade kselftests-kmp-defaultUpgrade kernel-64kbUpgrade kernel-macrosUpgrade ocfs2-kmp-rtUpgrade dtb-appleUpgrade kernel-source-azureUpgrade kernel-azure-extraUpgrade kernel-default-livepatchUpgrade kernel-syms-azureUpgrade ocfs2-kmp-azureUpgrade dtb-renesasUpgrade dtb-amazonUpgrade reiserfs-kmp-defaultUpgrade reiserfs-kmp-rtUpgrade kernel-rt-develUpgrade dtb-mediatekUpgrade kernel-64kb-optionalUpgrade kernel-devel-azureUpgrade kernel-kvmsmall-develUpgrade dtb-socionextUpgrade dtb-armUpgrade cluster-md-kmp-azureUpgrade cluster-md-kmp-defaultUpgrade dtb-amlogicUpgrade cluster-md-kmp-rtUpgrade kernel-zfcpdumpUpgrade dlm-kmp-azureUpgrade kernel-obs-qaUpgrade dtb-freescaleUpgrade kselftests-kmp-64kbUpgrade dtb-lgUpgrade gfs2-kmp-64kbUpgrade dtb-hisiliconUpgrade kernel-default-livepatch-develUpgrade kernel-devel-rtUpgrade kernel-default-develUpgrade kernel-debugUpgrade gfs2-kmp-rtUpgrade dtb-exynosUpgrade kernel-kvmsmallUpgrade kselftests-kmp-azureUpgrade kernel-source-rtUpgrade kernel-azureUpgrade dtb-alteraUpgrade reiserfs-kmp-azureUpgrade kselftests-kmp-rtUpgrade kernel-rt-optionalUpgrade kernel-azure-vdsoUpgrade dtb-nvidiaUpgrade kernel-debug-vdsoUpgrade reiserfs-kmp-64kbUpgrade kernel-rt_debug-develUpgrade kernel-default-baseUpgrade kernel-defaultUpgrade kernel-docsUpgrade ocfs2-kmp-defaultUpgrade kernel-default-base-rebuildUpgrade kernel-docs-htmlUpgrade kernel-azure-develUpgrade kernel-64kb-extraUpgrade dlm-kmp-defaultUpgrade kernel-source-vanillaUpgrade kernel-rt-vdsoUpgrade kernel-kvmsmall-vdsoUpgrade kernel-rt-extraUpgrade kernel-rt-livepatch-develUpgrade dtb-marvellUpgrade gfs2-kmp-defaultUpgrade cluster-md-kmp-64kbUpgrade dtb-allwinnerUpgrade dtb-rockchipUpgrade kernel-obs-buildUpgrade kernel-default-vdsoUpgrade dtb-qcomUpgrade kernel-syms-rtUpgrade ocfs2-kmp-64kbUpgrade kernel-rtUpgrade kernel-azure-optionalUpgrade gfs2-kmp-azureUpgrade dtb-sprdUpgrade dtb-caviumUpgrade dtb-broadcomUpgrade dlm-kmp-rt | Dec 5, 2025 | May 21, 2025 |
| Ubuntu | — | Upgrade linux-image-6.14.0-1007-awsUpgrade linux-image-6.8.0-1035-nvidia-tegraUpgrade linux-image-6.14.0-1004-realtimeUpgrade linux-image-oracleUpgrade linux-image-aws-64kUpgrade linux-image-gcpUpgrade linux-image-6.14.0-1008-gcpUpgrade linux-image-oracle-64kUpgrade linux-image-awsUpgrade linux-image-6.14.0-22-genericUpgrade linux-image-genericUpgrade linux-image-6.14.0-1008-gcp-64kUpgrade linux-image-6.14.0-1007-azureUpgrade linux-image-nvidia-tegra-rt-6.8Upgrade linux-image-generic-64kUpgrade linux-image-6.14.0-1007-azure-fdeUpgrade linux-image-6.14.0-1007-oracleUpgrade linux-image-6.14.0-22-generic-64kUpgrade linux-image-6.8.0-1035-nvidia-tegra-rtUpgrade linux-image-raspiUpgrade linux-image-gcp-64kUpgrade linux-image-azure-fdeUpgrade linux-image-6.14.0-1007-oracle-64kUpgrade linux-image-nvidia-tegraUpgrade linux-image-azureUpgrade linux-image-6.14.0-1007-aws-64kUpgrade linux-image-nvidia-tegra-6.8Upgrade linux-image-realtimeUpgrade linux-image-6.14.0-1007-raspiUpgrade linux-image-nvidia-tegra-rt | Jun 26, 2025 | Apr 16, 2025 |
With curated Threat Intelligence, you can see which vulnerabilities truly put you at risk, prioritize what matters most, and act before attackers do.
Explore Intelligence Hub