{"id":"CVE-2026-31411","title":"In the Linux kernel, the following vulnerability has been resolved:\n\nnet: atm: fix crash due to unvalidated vcc pointer in sigd_send()\n\nReproducer available at [1].\n\nThe ATM send path (sendmsg -> vcc_sendmsg -> sigd_send) reads the vcc\np…","summary":"In the Linux kernel, the following vulnerability has been resolved:\n\nnet: atm: fix crash due to unvalidated vcc pointer in sigd_send()\n\nReproducer available at [1].\n\nThe ATM send path (sendmsg -> vcc_sendmsg -> sigd_send) reads the vcc\np…","severity":"medium","cvss":5.5,"cvssVector":"CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H","cwe":["CWE-476","CWE-822"],"vendor":"linux","product":"linux_kernel","affected":["linux_kernel >= 2.6.12.1, < 5.10.252","linux_kernel >= 5.11, < 5.15.202","linux_kernel >= 5.16, < 6.1.165","linux_kernel >= 6.2, < 6.6.128","linux_kernel >= 6.7, < 6.12.75","linux_kernel >= 6.13, < 6.18.14","linux_kernel >= 6.19, < 6.19.4","linux_kernel = 2.6.12","linux_kernel = 7.0"],"patched":["linux_kernel 6.19.4"],"published":"2026-04-08","updated":"2026-07-25","source":"NVD","sourceUrl":"https://nvd.nist.gov/vuln/detail/CVE-2026-31411","references":[{"url":"https://git.kernel.org/stable/c/1c8bda3df028d5e54134077dcd09f46ca8cfceb5","label":"416baaa9-dc9f-4396-8d5f-8c081fb06d67"},{"url":"https://git.kernel.org/stable/c/21c303fec138c002f90ed33bce60e807d53072bb","label":"416baaa9-dc9f-4396-8d5f-8c081fb06d67"},{"url":"https://git.kernel.org/stable/c/3e1a8b00095246a9a2b46b57f6d471c6d3c00ed2","label":"416baaa9-dc9f-4396-8d5f-8c081fb06d67"},{"url":"https://git.kernel.org/stable/c/440c9a5fc477a8ee259d8bf669531250b8398651","label":"416baaa9-dc9f-4396-8d5f-8c081fb06d67"},{"url":"https://git.kernel.org/stable/c/69d3f9ee5489e6e8b66defcfa226e91d82393297","label":"416baaa9-dc9f-4396-8d5f-8c081fb06d67"},{"url":"https://git.kernel.org/stable/c/ae88a5d2f29b69819dc7b04086734439d074a643","label":"416baaa9-dc9f-4396-8d5f-8c081fb06d67"},{"url":"https://git.kernel.org/stable/c/c96549d07dfdd51aadf0722cfb40711574424840","label":"416baaa9-dc9f-4396-8d5f-8c081fb06d67"},{"url":"https://git.kernel.org/stable/c/e3f80666c2739296c3b69a127300455c43aa1067","label":"416baaa9-dc9f-4396-8d5f-8c081fb06d67"},{"url":"https://cert-portal.siemens.com/productcert/html/ssa-019113.html","label":"0b142b55-0307-4c5a-b3c9-f314f3fb7c5e"},{"url":"https://cert-portal.siemens.com/productcert/html/ssa-082556.html","label":"0b142b55-0307-4c5a-b3c9-f314f3fb7c5e"},{"url":"https://security.access.redhat.com/data/csaf/v2/vex/2026/cve-2026-31411.json"},{"url":"https://access.redhat.com/security/cve/CVE-2026-31411"},{"url":"https://bugzilla.redhat.com/show_bug.cgi?id=2456521"},{"url":"https://www.cve.org/CVERecord?id=CVE-2026-31411"},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2026-31411"},{"url":"https://lore.kernel.org/linux-cve-announce/2026040820-CVE-2026-31411-7ef9@gregkh/T"},{"url":"https://access.redhat.com/errata/RHSA-2026:59662"},{"url":"https://access.redhat.com/errata/RHSA-2026:56573"},{"url":"https://access.redhat.com/errata/RHSA-2026:56574"},{"url":"https://access.redhat.com/errata/RHSA-2026:33285"},{"url":"https://access.redhat.com/errata/RHSA-2026:39083"},{"url":"https://access.redhat.com/errata/RHSA-2026:65710"},{"url":"https://access.redhat.com/errata/RHSA-2026:59473"},{"url":"https://access.redhat.com/errata/RHSA-2026:61256"},{"url":"https://access.redhat.com/errata/RHSA-2026:39082"},{"url":"https://access.redhat.com/errata/RHSA-2026:59663"}],"tags":["nvd","cve.org","csaf","vex","red-hat"],"epss":0.00131,"epssPercentile":0.0307,"ingestedAt":"2026-07-25T23:05:59.232Z","scores":{"nvd":5.5,"vendor":7.1},"slug":"CVE-2026-31411","body":"## Overview\n\nIn the Linux kernel, the following vulnerability has been resolved:\n\nnet: atm: fix crash due to unvalidated vcc pointer in sigd_send()\n\nReproducer available at [1].\n\nThe ATM send path (sendmsg -> vcc_sendmsg -> sigd_send) reads the vcc\npointer from msg->vcc and uses it directly without any validation. This\npointer comes from userspace via sendmsg() and can be arbitrarily forged:\n\n    int fd = socket(AF_ATMSVC, SOCK_DGRAM, 0);\n    ioctl(fd, ATMSIGD_CTRL);  // become ATM signaling daemon\n    struct msghdr msg = { .msg_iov = &iov, ... };\n    *(unsigned long *)(buf + 4) = 0xdeadbeef;  // fake vcc pointer\n    sendmsg(fd, &msg, 0);  // kernel dereferences 0xdeadbeef\n\nIn normal operation, the kernel sends the vcc pointer to the signaling\ndaemon via sigd_enq() when processing operations like connect(), bind(),\nor listen(). The daemon is expected to return the same pointer when\nresponding. However, a malicious daemon can send arbitrary pointer values.\n\nFix this by introducing find_get_vcc() which validates the pointer by\nsearching through vcc_hash (similar to how sigd_close() iterates over\nall VCCs), and acquires a reference via sock_hold() if found.\n\nSince struct atm_vcc embeds struct sock as its first member, they share\nthe same lifetime. Therefore using sock_hold/sock_put is sufficient to\nkeep the vcc alive while it is being used.\n\nNote that there may be a race with sigd_close() which could mark the vcc\nwith various flags (e.g., ATM_VF_RELEASED) after find_get_vcc() returns.\nHowever, sock_hold() guarantees the memory remains valid, so this race\nonly affects the logical state, not memory safety.\n\n[1]: https://gist.github.com/mrpre/1ba5949c45529c511152e2f4c755b0f3\n\n## Affected\n\n- `linux_kernel >= 2.6.12.1, < 5.10.252`\n- `linux_kernel >= 5.11, < 5.15.202`\n- `linux_kernel >= 5.16, < 6.1.165`\n- `linux_kernel >= 6.2, < 6.6.128`\n- `linux_kernel >= 6.7, < 6.12.75`\n- `linux_kernel >= 6.13, < 6.18.14`\n- `linux_kernel >= 6.19, < 6.19.4`\n- `linux_kernel = 2.6.12`\n- `linux_kernel = 7.0`\n\n## Remediation\n\nUpgrade past the affected range:\n\n- `linux_kernel 6.19.4`\n\n## Vendor advisories\n\n- **RHSA-2026:59662** · Red Hat · fixed in: Red Hat Enterprise Linux AppStream E4S (v.9.2), Red Hat Enterprise Linux BaseOS E4S (v.9.2) · released 2026-08-26 · [advisory](https://access.redhat.com/errata/RHSA-2026:59662)\n- **RHSA-2026:56573** · Red Hat · fixed in: Red Hat Enterprise Linux AppStream E4S (v.9.4), Red Hat Enterprise Linux BaseOS E4S (v.9.4), Red Hat Enterprise Linux Real Time for NFV E4S (v.9.4), Red Hat Enterprise Linux Real Time E4S (v.9.4) · released 2026-08-19 · [advisory](https://access.redhat.com/errata/RHSA-2026:56573)\n- **RHSA-2026:56574** · Red Hat · fixed in: Red Hat Enterprise Linux AppStream EUS (v.9.6), Red Hat Enterprise Linux BaseOS EUS (v.9.6), Red Hat CodeReady Linux Builder EUS (v.9.6), Red Hat Enterprise Linux Real Time for NFV EUS (v.9.6), Red Hat Enterprise Linux Real Time EUS (v.9.6) · released 2026-08-19 · [advisory](https://access.redhat.com/errata/RHSA-2026:56574)\n- **RHSA-2026:33285** · Red Hat · fixed in: Red Hat Enterprise Linux AppStream (v. 9), Red Hat Enterprise Linux BaseOS (v. 9), Red Hat Enterprise Linux CodeReady Linux Builder (v. 9), Red Hat Enterprise Linux Real Time for NFV (v. 9), Red Hat Enterprise Linux Real Time (v. 9) · released 2026-06-30 · [advisory](https://access.redhat.com/errata/RHSA-2026:33285)\n- **RHSA-2026:39083** · Red Hat · fixed in: Red Hat Enterprise Linux BaseOS (v. 8), Red Hat Enterprise Linux CRB (v. 8) · released 2026-07-14 · [advisory](https://access.redhat.com/errata/RHSA-2026:39083)\n- **RHSA-2026:65710** · Red Hat · fixed in: Red Hat Enterprise Linux BaseOS AUS (v.8.4), Red Hat Enterprise Linux BaseOS EUS EXTENSION (v.8.4) · released 2026-09-09 · [advisory](https://access.redhat.com/errata/RHSA-2026:65710)\n- **RHSA-2026:59473** · Red Hat · fixed in: Red Hat Enterprise Linux BaseOS AUS (v.8.6), Red Hat Enterprise Linux BaseOS EUS EXTENSION (v.8.6) · released 2026-08-25 · [advisory](https://access.redhat.com/errata/RHSA-2026:59473)\n- **RHSA-2026:61256** · Red Hat · fixed in: Red Hat Enterprise Linux BaseOS E4S (v.8.8), Red Hat Enterprise Linux BaseOS TUS (v.8.8) · released 2026-08-31 · [advisory](https://access.redhat.com/errata/RHSA-2026:61256)\n- **RHSA-2026:39082** · Red Hat · fixed in: Red Hat Enterprise Linux NFV (v. 8), Red Hat Enterprise Linux RT (v. 8) · released 2026-07-14 · [advisory](https://access.redhat.com/errata/RHSA-2026:39082)\n- **RHSA-2026:59663** · Red Hat · fixed in: Red Hat Enterprise Linux Real Time for NFV E4S (v.9.2), Red Hat Enterprise Linux Real Time E4S (v.9.2) · released 2026-08-26 · [advisory](https://access.redhat.com/errata/RHSA-2026:59663)\n- **Red Hat VEX** · Moderate · affected: Red Hat Enterprise Linux 6, Red Hat Enterprise Linux 7, Red Hat Enterprise Linux 9 · no fix planned: Red Hat Enterprise Linux 6, Red Hat Enterprise Linux 7, Red Hat Enterprise Linux 9 · updated 2026-09-09 · [vex](https://security.access.redhat.com/data/csaf/v2/vex/2026/cve-2026-31411.json)","depth":"sunlit","depthScore":30,"depthScoreParts":{"impact":30.3,"likelihood":0,"exploitation":0,"ransomware":0},"changes":[]}