Vulnerability · Published Sep 16, 2025 · Assigned by Linux

CVE-2025-39828atm: atmtcp: Prevent arbitrary write in atmtcp_recv_control().

High 7.8

In plain English

A high-severity security flaw in Linux from Linux. There are no confirmed reports of exploitation so far. The chance it is exploited in the next 30 days is estimated at 0.2% (higher than 7% of all known vulnerabilities). Fixed versions are available - upgrade the affected package.

Severity (CVSS NVD)7.8High
Exploit odds (30 days)0.2%top 93.4% of all CVEs
Exploited in the wildNo reportsnot in CISA KEV
Attack toolingNoneno public tooling known

Official description

In the Linux kernel, the following vulnerability has been resolved: atm: atmtcp: Prevent arbitrary write in atmtcp_recv_control(). syzbot reported the splat below. [0] When atmtcp_v_open() or atmtcp_v_close() is called via connect() or close(), atmtcp_send_control() is called to send an in-kernel special message. The message has ATMTCP_HDR_MAGIC in atmtcp_control.hdr.length. Also, a pointer of struct atm_vcc is set to atmtcp_control.vcc. The notable thing is struct atmtcp_control is uAPI but has a space for an in-kernel pointer. struct atmtcp_control { struct atmtcp_hdr hdr; /* must be first */ ... atm_kptr_t vcc; /* both directions */ ... } __ATM_API_ALIGN; typedef struct { unsigned char _[8]; } __ATM_API_ALIGN atm_kptr_t; The special message is processed in atmtcp_recv_control() called from atmtcp_c_send(). atmtcp_c_send() is vcc->dev->ops->send() and called from 2 paths: 1. .ndo_start_xmit() (vcc->send() == atm_send_aal0()) 2. vcc_sendmsg() The problem is sendmsg() does not validate the message length and userspace can abuse atmtcp_recv_control() to overwrite any kptr by atmtcp_control. Let's add a new ->pre_send() hook to validate messages from sendmsg(). [0]: Oops: general protection fault, probably for non-canonical address 0xdffffc00200000ab: 0000 [#1] SMP KASAN PTI KASAN: probably user-memory-access in range [0x0000000100000558-0x000000010000055f] CPU: 0 UID: 0 PID: 5865 Comm: syz-executor331 Not tainted 6.17.0-rc1-syzkaller-00215-gbab3ce404553 #0 PREEMPT(full) Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 07/12/2025 RIP: 0010:atmtcp_recv_control drivers/atm/atmtcp.c:93 [inline] RIP: 0010:atmtcp_c_send+0x1da/0x950 drivers/atm/atmtcp.c:297 Code: 4d 8d 75 1a 4c 89 f0 48 c1 e8 03 42 0f b6 04 20 84 c0 0f 85 15 06 00 00 41 0f b7 1e 4d 8d b7 60 05 00 00 4c 89 f0 48 c1 e8 03 <42> 0f b6 04 20 84 c0 0f 85 13 06 00 00 66 41 89 1e 4d 8d 75 1c 4c RSP: 0018:ffffc90003f5f810 EFLAGS: 00010203 RAX: 00000000200000ab RBX: 0000000000000000 RCX: 0000000000000000 RDX: ffff88802a510000 RSI: 00000000ffffffff RDI: ffff888030a6068c RBP: ffff88802699fb40 R08: ffff888030a606eb R09: 1ffff1100614c0dd R10: dffffc0000000000 R11: ffffffff8718fc40 R12: dffffc0000000000 R13: ffff888030a60680 R14: 000000010000055f R15: 00000000ffffffff FS: 00007f8d7e9236c0(0000) GS:ffff888125c1c000(0000) knlGS:0000000000000000 CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 CR2: 000000000045ad50 CR3: 0000000075bde000 CR4: 00000000003526f0 Call Trace: <TASK> vcc_sendmsg+0xa10/0xc60 net/atm/common.c:645 sock_sendmsg_nosec net/socket.c:714 [inline] __sock_sendmsg+0x219/0x270 net/socket.c:729 ____sys_sendmsg+0x505/0x830 net/socket.c:2614 ___sys_sendmsg+0x21f/0x2a0 net/socket.c:2668 __sys_sendmsg net/socket.c:2700 [inline] __do_sys_sendmsg net/socket.c:2705 [inline] __se_sys_sendmsg net/socket.c:2703 [inline] __x64_sys_sendmsg+0x19b/0x260 net/socket.c:2703 do_syscall_x64 arch/x86/entry/syscall_64.c:63 [inline] do_syscall_64+0xfa/0x3b0 arch/x86/entry/syscall_64.c:94 entry_SYSCALL_64_after_hwframe+0x77/0x7f RIP: 0033:0x7f8d7e96a4a9 Code: 28 00 00 00 75 05 48 83 c4 28 c3 e8 51 18 00 00 90 48 89 f8 48 89 f7 48 89 d6 48 89 ca 4d 89 c2 4d 89 c8 4c 8b 4c 24 08 0f 05 <48> 3d 01 f0 ff ff 73 01 c3 48 c7 c1 b0 ff ff ff f7 d8 64 89 01 48 RSP: 002b:00007f8d7e923198 EFLAGS: 00000246 ORIG_RAX: 000000000000002e RAX: ffffffffffffffda RBX: 00007f8d7e9f4308 RCX: 00007f8d7e96a4a9 RDX: 0000000000000000 RSI: 0000200000000240 RDI: 0000000000000005 RBP: 00007f8d7e9f4300 R08: 65732f636f72702f R09: 65732f636f72702f R10: 65732f636f72702f R11: 0000000000000246 R12: 00007f8d7e9c10ac R13: 00007f8d7e9231a0 R14: 0000200000000200 R15: 0000200000000250 </TASK> Modules linked in:

Affected packages & fixed versions

EcosystemPackageFixed inAdvisory
Debian:12linux6.1.153-1DEBIAN-CVE-2025-39828
Debian:13linux6.12.48-1DEBIAN-CVE-2025-39828
Debian:14linux6.16.5-1DEBIAN-CVE-2025-39828
Ubuntu:22.04:LTSlinux5.15.0-163.173UBUNTU-CVE-2025-39828
Ubuntu:24.04:LTSlinux6.8.0-106.106USN-8095-1
Ubuntu:24.04:LTSlinux6.8.0-106.106UBUNTU-CVE-2025-39828
Ubuntu:22.04:LTSlinux-allwinner-5.19no fix listedUBUNTU-CVE-2025-39828
Ubuntu:22.04:LTSlinux-aws5.15.0-1097.104UBUNTU-CVE-2025-39828
Ubuntu:24.04:LTSlinux-aws6.8.0-1050.53UBUNTU-CVE-2025-39828
Ubuntu:24.04:LTSlinux-aws6.8.0-1050.53USN-8095-1
Ubuntu:22.04:LTSlinux-aws-5.19no fix listedUBUNTU-CVE-2025-39828
Ubuntu:24.04:LTSlinux-aws-6.14no fix listedUBUNTU-CVE-2025-39828
Ubuntu:22.04:LTSlinux-aws-6.2no fix listedUBUNTU-CVE-2025-39828
Ubuntu:22.04:LTSlinux-aws-6.5no fix listedUBUNTU-CVE-2025-39828
Ubuntu:22.04:LTSlinux-aws-6.86.8.0-1050.53~22.04.1UBUNTU-CVE-2025-39828
Ubuntu:22.04:LTSlinux-aws-6.86.8.0-1050.53~22.04.1USN-8095-4
Ubuntu:22.04:LTSlinux-azure5.15.0-1101.110UBUNTU-CVE-2025-39828
Ubuntu:24.04:LTSlinux-azure6.8.0-1051.57UBUNTU-CVE-2025-39828
Ubuntu:24.04:LTSlinux-azure6.8.0-1051.57USN-8125-1
Ubuntu:22.04:LTSlinux-azure-5.19no fix listedUBUNTU-CVE-2025-39828
Ubuntu:24.04:LTSlinux-azure-6.11no fix listedUBUNTU-CVE-2025-39828
Ubuntu:24.04:LTSlinux-azure-6.14no fix listedUBUNTU-CVE-2025-39828
Ubuntu:22.04:LTSlinux-azure-6.2no fix listedUBUNTU-CVE-2025-39828
Ubuntu:22.04:LTSlinux-azure-6.5no fix listedUBUNTU-CVE-2025-39828
Ubuntu:22.04:LTSlinux-azure-6.86.8.0-1051.57~22.04.1UBUNTU-CVE-2025-39828
Ubuntu:22.04:LTSlinux-azure-fde5.15.0-1102.111.1UBUNTU-CVE-2025-39828
Ubuntu:24.04:LTSlinux-azure-fde6.8.0-1058.65UBUNTU-CVE-2025-39828
Ubuntu:25.10linux-azure-fdeno fix listedUBUNTU-CVE-2025-39828
Ubuntu:22.04:LTSlinux-azure-fde-5.19no fix listedUBUNTU-CVE-2025-39828
Ubuntu:24.04:LTSlinux-azure-fde-6.14no fix listedUBUNTU-CVE-2025-39828
Ubuntu:22.04:LTSlinux-azure-fde-6.2no fix listedUBUNTU-CVE-2025-39828
Ubuntu:22.04:LTSlinux-azure-fde-6.86.8.0-1058.65~22.04.1UBUNTU-CVE-2025-39828
Ubuntu:24.04:LTSlinux-azure-nvidiano fix listedUBUNTU-CVE-2025-39828
Ubuntu:24.04:LTSlinux-azure-nvidia-6.14no fix listedUBUNTU-CVE-2025-39828
Ubuntu:22.04:LTSlinux-gcp5.15.0-1097.106UBUNTU-CVE-2025-39828
Ubuntu:24.04:LTSlinux-gcp6.8.0-1052.55UBUNTU-CVE-2025-39828
Ubuntu:24.04:LTSlinux-gcp6.8.0-1052.55USN-8095-1
Ubuntu:22.04:LTSlinux-gcp-5.19no fix listedUBUNTU-CVE-2025-39828
Ubuntu:24.04:LTSlinux-gcp-6.11no fix listedUBUNTU-CVE-2025-39828
Ubuntu:24.04:LTSlinux-gcp-6.14no fix listedUBUNTU-CVE-2025-39828
Ubuntu:22.04:LTSlinux-gcp-6.2no fix listedUBUNTU-CVE-2025-39828
Ubuntu:22.04:LTSlinux-gcp-6.5no fix listedUBUNTU-CVE-2025-39828
Ubuntu:22.04:LTSlinux-gcp-6.86.8.0-1052.55~22.04.1USN-8095-1
Ubuntu:22.04:LTSlinux-gcp-6.86.8.0-1052.55~22.04.1UBUNTU-CVE-2025-39828
Ubuntu:22.04:LTSlinux-gke5.15.0-1093.99UBUNTU-CVE-2025-39828
Ubuntu:24.04:LTSlinux-gke6.8.0-1048.53UBUNTU-CVE-2025-39828
Ubuntu:24.04:LTSlinux-gke6.8.0-1048.53USN-8095-1
Ubuntu:22.04:LTSlinux-gkeop5.15.0-1080.88UBUNTU-CVE-2025-39828
Ubuntu:24.04:LTSlinux-gkeop6.8.0-1035.38UBUNTU-CVE-2025-39828
Ubuntu:24.04:LTSlinux-gkeop6.8.0-1035.38USN-8095-1
Ubuntu:22.04:LTSlinux-hwe-5.19no fix listedUBUNTU-CVE-2025-39828
Ubuntu:24.04:LTSlinux-hwe-6.11no fix listedUBUNTU-CVE-2025-39828
Ubuntu:24.04:LTSlinux-hwe-6.14no fix listedUBUNTU-CVE-2025-39828
Ubuntu:22.04:LTSlinux-hwe-6.2no fix listedUBUNTU-CVE-2025-39828
Ubuntu:22.04:LTSlinux-hwe-6.5no fix listedUBUNTU-CVE-2025-39828
Ubuntu:22.04:LTSlinux-hwe-6.86.8.0-106.106~22.04.1USN-8095-1
Ubuntu:22.04:LTSlinux-hwe-6.86.8.0-106.106~22.04.1UBUNTU-CVE-2025-39828
Ubuntu:22.04:LTSlinux-ibm5.15.0-1091.94UBUNTU-CVE-2025-39828
Ubuntu:24.04:LTSlinux-ibm6.8.0-1049.49USN-8095-1
Ubuntu:24.04:LTSlinux-ibm6.8.0-1049.49UBUNTU-CVE-2025-39828
Ubuntu:22.04:LTSlinux-ibm-6.86.8.0-1049.49~22.04.1USN-8095-1
Ubuntu:22.04:LTSlinux-ibm-6.86.8.0-1049.49~22.04.1UBUNTU-CVE-2025-39828
Ubuntu:24.04:LTSlinux-intelno fix listedUBUNTU-CVE-2025-39828
Ubuntu:22.04:LTSlinux-intel-iot-realtimeno fix listedUBUNTU-CVE-2025-39828
Ubuntu:22.04:LTSlinux-intel-iotg5.15.0-1092.98UBUNTU-CVE-2025-39828
Ubuntu:22.04:LTSlinux-kvm5.15.0-1089.94UBUNTU-CVE-2025-39828
Ubuntu:22.04:LTSlinux-lowlatency5.15.0-163.173UBUNTU-CVE-2025-39828
Ubuntu:24.04:LTSlinux-lowlatency6.8.0-106.106.1UBUNTU-CVE-2025-39828
Ubuntu:24.04:LTSlinux-lowlatency6.8.0-106.106.1USN-8095-1
Ubuntu:22.04:LTSlinux-lowlatency-hwe-5.19no fix listedUBUNTU-CVE-2025-39828
Ubuntu:24.04:LTSlinux-lowlatency-hwe-6.11no fix listedUBUNTU-CVE-2025-39828
Ubuntu:22.04:LTSlinux-lowlatency-hwe-6.2no fix listedUBUNTU-CVE-2025-39828
Ubuntu:22.04:LTSlinux-lowlatency-hwe-6.5no fix listedUBUNTU-CVE-2025-39828
Ubuntu:22.04:LTSlinux-lowlatency-hwe-6.86.8.0-106.106.1~22.04.1USN-8095-1
Ubuntu:22.04:LTSlinux-lowlatency-hwe-6.86.8.0-106.106.1~22.04.1UBUNTU-CVE-2025-39828
Ubuntu:22.04:LTSlinux-nvidia5.15.0-1092.93UBUNTU-CVE-2025-39828
Ubuntu:24.04:LTSlinux-nvidia6.8.0-1049.52USN-8100-1
Ubuntu:24.04:LTSlinux-nvidia6.8.0-1049.52UBUNTU-CVE-2025-39828
Ubuntu:24.04:LTSlinux-nvidia-6.11no fix listedUBUNTU-CVE-2025-39828
Ubuntu:22.04:LTSlinux-nvidia-6.2no fix listedUBUNTU-CVE-2025-39828
Ubuntu:22.04:LTSlinux-nvidia-6.5no fix listedUBUNTU-CVE-2025-39828
Ubuntu:22.04:LTSlinux-nvidia-6.86.8.0-1049.52~22.04.1USN-8100-1
Ubuntu:22.04:LTSlinux-nvidia-6.86.8.0-1049.52~22.04.1UBUNTU-CVE-2025-39828
Ubuntu:24.04:LTSlinux-nvidia-lowlatency6.8.0-1049.52.1UBUNTU-CVE-2025-39828
Ubuntu:24.04:LTSlinux-nvidia-lowlatency6.8.0-1049.52.1USN-8100-1
Ubuntu:22.04:LTSlinux-nvidia-tegra5.15.0-1049.49UBUNTU-CVE-2025-39828
Ubuntu:24.04:LTSlinux-nvidia-tegra6.8.0-1020.20UBUNTU-CVE-2025-39828
Ubuntu:22.04:LTSlinux-nvidia-tegra-igx5.15.0-1038.38UBUNTU-CVE-2025-39828
Ubuntu:22.04:LTSlinux-oem-5.17no fix listedUBUNTU-CVE-2025-39828
Ubuntu:22.04:LTSlinux-oem-6.0no fix listedUBUNTU-CVE-2025-39828
Ubuntu:22.04:LTSlinux-oem-6.1no fix listedUBUNTU-CVE-2025-39828
Ubuntu:24.04:LTSlinux-oem-6.11no fix listedUBUNTU-CVE-2025-39828
Ubuntu:24.04:LTSlinux-oem-6.14no fix listedUBUNTU-CVE-2025-39828
Ubuntu:22.04:LTSlinux-oem-6.5no fix listedUBUNTU-CVE-2025-39828
Ubuntu:24.04:LTSlinux-oem-6.8no fix listedUBUNTU-CVE-2025-39828
Ubuntu:22.04:LTSlinux-oracle5.15.0-1094.100UBUNTU-CVE-2025-39828
Ubuntu:24.04:LTSlinux-oracle6.8.0-1047.48UBUNTU-CVE-2025-39828
Ubuntu:24.04:LTSlinux-oracle6.8.0-1047.48USN-8095-1
Ubuntu:24.04:LTSlinux-oracle-6.14no fix listedUBUNTU-CVE-2025-39828
Ubuntu:22.04:LTSlinux-oracle-6.5no fix listedUBUNTU-CVE-2025-39828
Ubuntu:22.04:LTSlinux-oracle-6.86.8.0-1047.48~22.04.1USN-8095-1
Ubuntu:22.04:LTSlinux-oracle-6.86.8.0-1047.48~22.04.1UBUNTU-CVE-2025-39828
Ubuntu:22.04:LTSlinux-raspi5.15.0-1091.94UBUNTU-CVE-2025-39828
Ubuntu:24.04:LTSlinux-raspi6.8.0-1050.54UBUNTU-CVE-2025-39828
Ubuntu:24.04:LTSlinux-raspi6.8.0-1050.54USN-8095-5
Ubuntu:24.04:LTSlinux-raspi-realtimeno fix listedUBUNTU-CVE-2025-39828
Ubuntu:22.04:LTSlinux-realtimeno fix listedUBUNTU-CVE-2025-39828
Ubuntu:24.04:LTSlinux-realtimeno fix listedUBUNTU-CVE-2025-39828
Ubuntu:22.04:LTSlinux-riscvno fix listedUBUNTU-CVE-2025-39828
Ubuntu:24.04:LTSlinux-riscvno fix listedUBUNTU-CVE-2025-39828
Ubuntu:22.04:LTSlinux-riscv-5.19no fix listedUBUNTU-CVE-2025-39828
Ubuntu:24.04:LTSlinux-riscv-6.14no fix listedUBUNTU-CVE-2025-39828
Ubuntu:22.04:LTSlinux-riscv-6.5no fix listedUBUNTU-CVE-2025-39828
Ubuntu:22.04:LTSlinux-riscv-6.86.8.0-106.106~22.04.1UBUNTU-CVE-2025-39828
Ubuntu:22.04:LTSlinux-starfive-5.19no fix listedUBUNTU-CVE-2025-39828
Ubuntu:22.04:LTSlinux-starfive-6.2no fix listedUBUNTU-CVE-2025-39828
Ubuntu:22.04:LTSlinux-starfive-6.5no fix listedUBUNTU-CVE-2025-39828
Ubuntu:24.04:LTSlinux-xilinx6.8.0-1029.30USN-8261-1
Ubuntu:24.04:LTSlinux-xilinx6.8.0-1028.29UBUNTU-CVE-2025-39828
Ubuntu:22.04:LTSlinux-xilinx-zynqmp5.15.0-1061.65UBUNTU-CVE-2025-39828

Affected products (as reported)

VendorProductVersions
Linux Linux 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 – before b502f16bad8f0a4cfbd023452766f21bfda39dde1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 – before 0a6a6d4fb333f7afe22e59ffed18511a7a98efc81da177e4c3f41524e886b7f1b8a0c1fc7321cac2 – before 62f368472b0aa4b5d91d9b983152855c6b6d89251da177e4c3f41524e886b7f1b8a0c1fc7321cac2 – before 51872b26429077be611b0a1816e0e722278015c31da177e4c3f41524e886b7f1b8a0c1fc7321cac2 – before 3c80c230d6e3e6f63d43f4c3f0bb344e3e8b119b1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 – before 33f9e6dc66b32202b95fc861e6b3ea4b0c185b0b1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 – before 3ab9f5ad9baefe6d3d4c37053cdfca2761001dfe1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 – before ec79003c5f9d2c7f9576fc69b8dbda80305cbe3a
Linux Linux 2.6.12

References