LiveActive security incident?Get immediate response
CVE Record

CVE-2026-31411: net: atm: fix crash due to unvalidated vcc pointer in sigd_send()

In the Linux kernel, the following vulnerability has been resolved: net: atm: fix crash due to unvalidated vcc pointer in sigd_send() Reproducer available at [1]. The ATM send path (sendmsg -> vcc_sendmsg -> sigd_send) reads the vcc pointer from msg->vcc and uses it directly without any validation. This pointer comes from userspace via sendmsg() and can be arbitrarily forged: int fd = socket(AF_ATMSVC, SOCK_DGRAM, 0); ioctl(fd, ATMSIGD_CTRL); // become ATM signaling daemon struct msghdr msg = { .msg_iov = &iov, ... }; *(unsigned long *)(buf + 4) = 0xdeadbeef; // fake vcc pointer sendmsg(fd, &msg, 0); // kernel dereferences 0xdeadbeef In normal operation, the kernel sends the vcc pointer to the signaling daemon via sigd_enq() when processing operations like connect(), bind(), or listen(). The daemon is expected to return the same pointer when responding. However, a malicious daemon can send arbitrary pointer values. Fix this by introducing find_get_vcc() which validates the pointer by searching through vcc_hash (similar to how sigd_close() iterates over all VCCs), and acquires a reference via sock_hold() if found. Since struct atm_vcc embeds struct sock as its first member, they share the same lifetime. Therefore using sock_hold/sock_put is sufficient to keep the vcc alive while it is being used. Note that there may be a race with sigd_close() which could mark the vcc with various flags (e.g., ATM_VF_RELEASED) after find_get_vcc() returns. However, sock_hold() guarantees the memory remains valid, so this race only affects the logical state, not memory safety. [1]: https://gist.github.com/mrpre/1ba5949c45529c511152e2f4c755b0f3

UnknownCVSS not scoredNot KEV-listedUpdated
Glexia's TakeAutomated analysismoderate

Security readout for executives and security teams

Plain-English summary

A malicious or compromised ATM signaling daemon can give the Linux kernel a forged pointer, causing invalid memory access and a system crash. This primarily threatens availability. The supplied sources do not establish code execution, data theft, or exploitation in the wild.

Executive priority

Prioritize affected systems that actively use ATM or permit less-trusted control of signaling services. Patch them through normal expedited maintenance. Systems without ATM exposure are lower priority, but owners should confirm configuration rather than assuming the vulnerable path is unreachable.

Technical view

The ATM send path passed a userspace-supplied VCC pointer from sigd_send() into kernel processing without validation. The fix adds find_get_vcc(), verifies the pointer against vcc_hash, and holds the associated socket reference during use, preventing invalid or prematurely freed memory from being dereferenced.

Likely exposure

Exposure is limited to Linux systems using the affected ATM networking functionality where an attacker can act as, compromise, or influence the ATM signaling daemon. The bundle identifies affected kernel lines but does not provide sufficiently clear range notation for reliable version-by-version conclusions.

Exploitation context

A public reproducer is referenced, demonstrating crash feasibility. Exploitation requires interaction with the specialized ATM signaling path and the ability to submit a forged VCC pointer. CISA KEV status is false, and the supplied sources provide no evidence of active exploitation or reliable impact beyond denial of service.

Researcher notes

The described issue is an unvalidated kernel-pointer dereference across a userspace trust boundary. Reference acquisition addresses memory lifetime; the source notes a remaining logical-state race with sigd_close() but says sock_hold() prevents a memory-safety consequence. Privilege requirements, CVSS, CWE classification, and exploitation beyond crashing are not supplied.

Mitigation direction

  • Install a vendor kernel update containing the applicable referenced Linux stable fix.
  • Follow distribution and appliance-vendor guidance to identify the correct fixed package.
  • Disable unused ATM functionality where operationally safe and vendor-supported.
  • Restrict untrusted access to systems that require ATM signaling services.

Validation and detection

  • Inventory Linux kernels and determine whether ATM networking is enabled or operationally required.
  • Map installed kernel packages to vendor advisories and the referenced stable fixes.
  • Confirm the updated kernel is running after installation and reboot.
  • Review kernel logs for crashes involving sigd_send, ATM, or invalid pointer dereferences.
  • Verify only intended software and administrators can control ATM signaling services.
Prepared
Confidence
medium
Sources
12

Generated from the cited source records. This long-tail analysis has not been individually reviewed by a named human.

Potential ATT&CK relevance

Conservative CVE-to-ATT&CK context

These mappings and lookup hints may be relevant to the vulnerability behavior, CWE, affected product, or exposure path. Glexia-inferred context is not an official MITRE, ATT&CK, CWE, or CVE Program mapping.

ATT&CK lookup starting points

Use these exact CWE pages and searches to review the Glexia ATT&CK library from this CVE's weakness and description context.

cve · low confidence lookup

CVE-2026-31411 mapping review

Open the CVE-to-ATT&CK bridge for reviewed, inferred, or future official mappings tied to this CVE.

Open ATT&CK lookup
Vulnerability profileCVE Program record
Severity
Unknown
CVSS
Not scored
Known Exploited
No
Published
Official CVE source material

CNA and ADP enrichment extracted from CVE v5

These fields come from the CVE record and ADP containers, not from Glexia's Take. They preserve time-varying source decisions such as CISA SSVC, KEV status, CVSS metrics, and provider references.

0CVSS vectors
3Timeline events
1ADP providers
11Source links

Vulnerability timeline

Timeline events are normalized from CVE metadata, CNA source timelines, ADP timelines, and KEV metadata when present.

  1. CVE reservedCVE Program

    The CVE ID was reserved by the assigning CNA.

  2. CVE publishedCVE Program

    The CVE record was published.

  3. CVE updatedCVE Program

    The CVE record metadata indicates this as the latest update time.

ADP provider summaries

siemens-SADPADP container
Affected products

Products and packages named in the record

VendorProductVersion / packageStatus
LinuxLinux1da177e4c3f41524e886b7f1b8a0c1fc7321cac2, 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2, 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2, 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2, 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2, 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2, 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2, 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2unaffected
LinuxLinux2.6.12, 0, 5.10.252, 5.15.202, 6.1.165, 6.6.128, 6.12.75, 6.18.14, 6.19.4, 7.0affected
Weakness

CWE details

No CWE listed

CWE links open Glexia weakness intelligence pages with official CWE context, developer remediation guidance, and related CVE mappings.