GCVE Workshop - 22 September 2026 (14:00-18:00), Luxembourg Before The Vulnopticon Conference - Registration

CVE-2026-80929 (GCVE-0-2026-80929)

Vulnerability from cvelistv5 – Published: 2026-09-11 19:42 – Updated: 2026-09-13 06:28
VLAI
Title
sysctl: move the "cad_pid" entry from pid_table[] to kern_reboot_table[]
Summary
In the Linux kernel, the following vulnerability has been resolved: sysctl: move the "cad_pid" entry from pid_table[] to kern_reboot_table[] cad_pid is global, and kill_cad_pid() is only used in the root namespace. However, due to pid_table_root_permissions(), a non-root user can unshare pid/user namespaces and modify it from the child namespace. This makes no sense and is simply wrong. Move it to kern_reboot_table[] where it logically belongs; this ensures that only GLOBAL_ROOT_UID can read/modify this sysctl. Note that this patch doesn't preserve "#ifdef CONFIG_PROC_SYSCTL" around the "cad_pid"; CONFIG_PROC_SYSCTL selects CONFIG_SYSCTL, so it is always set when kern_reboot_table[] is compiled.
Impacted products
Vendor Product Version CPE status
Linux Linux Affected: e054bcbe7e7af2baad3752f1a4916a7fffc0457e , < e8527de7fea191fda704792a56081f9009aeec37 (git)
Affected: e054bcbe7e7af2baad3752f1a4916a7fffc0457e , < a09bc4eaa67e1a72df3b6d0beb3afeef1e1fdfcd (git)
Affected: e054bcbe7e7af2baad3752f1a4916a7fffc0457e , < 7170ca01623b399c97f2ae9d3e228badc1f25ea3 (git)
guessed Create a notification for this product.
Linux Linux Affected: 6.17
Unaffected: 0 , < 6.17 (semver)
Unaffected: 6.18.50 , ≤ 6.18.* (semver)
Unaffected: 7.2.4 , ≤ 7.2.* (semver)
Unaffected: 7.3-rc1 , ≤ * (original_commit_for_fix)
guessed Create a notification for this product.
Show details on NVD website

{
  "containers": {
    "cna": {
      "affected": [
        {
          "defaultStatus": "unaffected",
          "product": "Linux",
          "programFiles": [
            "kernel/pid.c",
            "kernel/reboot.c"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "vendor": "Linux",
          "versions": [
            {
              "lessThan": "e8527de7fea191fda704792a56081f9009aeec37",
              "status": "affected",
              "version": "e054bcbe7e7af2baad3752f1a4916a7fffc0457e",
              "versionType": "git"
            },
            {
              "lessThan": "a09bc4eaa67e1a72df3b6d0beb3afeef1e1fdfcd",
              "status": "affected",
              "version": "e054bcbe7e7af2baad3752f1a4916a7fffc0457e",
              "versionType": "git"
            },
            {
              "lessThan": "7170ca01623b399c97f2ae9d3e228badc1f25ea3",
              "status": "affected",
              "version": "e054bcbe7e7af2baad3752f1a4916a7fffc0457e",
              "versionType": "git"
            }
          ]
        },
        {
          "defaultStatus": "affected",
          "product": "Linux",
          "programFiles": [
            "kernel/pid.c",
            "kernel/reboot.c"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "vendor": "Linux",
          "versions": [
            {
              "status": "affected",
              "version": "6.17"
            },
            {
              "lessThan": "6.17",
              "status": "unaffected",
              "version": "0",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "6.18.*",
              "status": "unaffected",
              "version": "6.18.50",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "7.2.*",
              "status": "unaffected",
              "version": "7.2.4",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "*",
              "status": "unaffected",
              "version": "7.3-rc1",
              "versionType": "original_commit_for_fix"
            }
          ]
        }
      ],
      "cpeApplicability": [
        {
          "nodes": [
            {
              "cpeMatch": [
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.18.50",
                  "versionStartIncluding": "6.17",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "7.2.4",
                  "versionStartIncluding": "6.17",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "7.3-rc1",
                  "versionStartIncluding": "6.17",
                  "vulnerable": true
                }
              ],
              "negate": false,
              "operator": "OR"
            }
          ]
        }
      ],
      "descriptions": [
        {
          "lang": "en",
          "value": "In the Linux kernel, the following vulnerability has been resolved:\n\nsysctl: move the \"cad_pid\" entry from pid_table[] to kern_reboot_table[]\n\ncad_pid is global, and kill_cad_pid() is only used in the root namespace.\n\nHowever, due to pid_table_root_permissions(), a non-root user can unshare\npid/user namespaces and modify it from the child namespace. This makes no\nsense and is simply wrong.\n\nMove it to kern_reboot_table[] where it logically belongs; this ensures\nthat only GLOBAL_ROOT_UID can read/modify this sysctl.\n\nNote that this patch doesn\u0027t preserve \"#ifdef CONFIG_PROC_SYSCTL\" around\nthe \"cad_pid\"; CONFIG_PROC_SYSCTL selects CONFIG_SYSCTL, so it is always\nset when kern_reboot_table[] is compiled."
        }
      ],
      "metrics": [
        {
          "cvssV3_1": {
            "baseScore": 7.8,
            "baseSeverity": "HIGH",
            "vectorString": "CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H",
            "version": "3.1"
          },
          "scenarios": [
            {
              "lang": "en",
              "value": "AV:L - Unprivileged local processes reach proc_do_cad_pid() by opening and writing /proc/sys/kernel/cad_pid after creating user and PID namespaces; this is a procfs sysctl syscall path, not a network, adjacent-wireless, or physical-device handler.\nAC:L - The attacker fully controls namespace creation and concurrent sysctl reads/writes of the shared global cad_pid pointer, so the proc_do_cad_pid() use-after-free race does not depend on victim state, rare configs, or other conditions outside attacker influence.\nPR:L - pid_table_root_permissions() treats CAP_SYS_ADMIN or uid 0 in the PID namespace\u0027s user namespace as owner of the 0600 cad_pid sysctl, which an unprivileged user obtains by unsharing user and PID namespaces rather than needing init-namespace root.\nUI:N - The attacker triggers the flaw entirely through their own unshare, proc mount, and read/write of kernel.cad_pid; no other user must press Ctrl-Alt-Del, mount a filesystem, or take any action.\nS:U - Successful exploitation corrupts host kernel memory and hijacks the global cad_pid used by kill_cad_pid(); this remains inside the kernel\u0027s security authority and is not a VM, IOMMU, or DMA boundary bypass.\nC:H - Racing a cad_pid sysctl write (put_pid of the last reference) against a sysctl read use-after-frees struct pid in pid_vnr()/pid_nr_ns(), which per kernel CVSS guidance provides an arbitrary kernel-read primitive via slab reuse.\nI:H - The same use-after-free of struct pid is exploitable for heap spraying and control-flow hijack of kernel PID/signal paths, and the write also replaces host-global cad_pid so privileged kernel SIGINT/SIGPWR are redirected away from init.\nA:H - The use-after-free produces a kernel oops or panic on the pid_nr_ns() dereference of freed memory, as shown by the KASAN report; replacing cad_pid also persistently breaks host Ctrl-Alt-Del and power-button delivery to init."
            }
          ]
        }
      ],
      "providerMetadata": {
        "dateUpdated": "2026-09-13T06:28:10.105Z",
        "orgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
        "shortName": "Linux"
      },
      "references": [
        {
          "url": "https://git.kernel.org/stable/c/e8527de7fea191fda704792a56081f9009aeec37"
        },
        {
          "url": "https://git.kernel.org/stable/c/a09bc4eaa67e1a72df3b6d0beb3afeef1e1fdfcd"
        },
        {
          "url": "https://git.kernel.org/stable/c/7170ca01623b399c97f2ae9d3e228badc1f25ea3"
        }
      ],
      "title": "sysctl: move the \"cad_pid\" entry from pid_table[] to kern_reboot_table[]",
      "x_generator": {
        "engine": "bippy-1.2.0"
      }
    }
  },
  "cveMetadata": {
    "assignerOrgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
    "assignerShortName": "Linux",
    "cveId": "CVE-2026-80929",
    "datePublished": "2026-09-11T19:42:04.778Z",
    "dateReserved": "2026-08-26T14:34:25.802Z",
    "dateUpdated": "2026-09-13T06:28:10.105Z",
    "state": "PUBLISHED"
  },
  "dataType": "CVE_RECORD",
  "dataVersion": "5.2",
  "vulnerability-lookup:meta": {
    "epss": {
      "cve": "CVE-2026-80929",
      "date": "2026-09-17",
      "epss": "0.00161",
      "percentile": "0.05754"
    },
    "nvd": {
      "cve": {
        "affected": [
          {
            "affectedData": [
              {
                "defaultStatus": "unaffected",
                "product": "Linux",
                "programFiles": [
                  "kernel/pid.c",
                  "kernel/reboot.c"
                ],
                "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
                "vendor": "Linux",
                "versions": [
                  {
                    "lessThan": "e8527de7fea191fda704792a56081f9009aeec37",
                    "status": "affected",
                    "version": "e054bcbe7e7af2baad3752f1a4916a7fffc0457e",
                    "versionType": "git"
                  },
                  {
                    "lessThan": "a09bc4eaa67e1a72df3b6d0beb3afeef1e1fdfcd",
                    "status": "affected",
                    "version": "e054bcbe7e7af2baad3752f1a4916a7fffc0457e",
                    "versionType": "git"
                  },
                  {
                    "lessThan": "7170ca01623b399c97f2ae9d3e228badc1f25ea3",
                    "status": "affected",
                    "version": "e054bcbe7e7af2baad3752f1a4916a7fffc0457e",
                    "versionType": "git"
                  }
                ]
              },
              {
                "defaultStatus": "affected",
                "product": "Linux",
                "programFiles": [
                  "kernel/pid.c",
                  "kernel/reboot.c"
                ],
                "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
                "vendor": "Linux",
                "versions": [
                  {
                    "status": "affected",
                    "version": "6.17"
                  },
                  {
                    "lessThan": "6.17",
                    "status": "unaffected",
                    "version": "0",
                    "versionType": "semver"
                  },
                  {
                    "lessThanOrEqual": "6.18.*",
                    "status": "unaffected",
                    "version": "6.18.50",
                    "versionType": "semver"
                  },
                  {
                    "lessThanOrEqual": "7.2.*",
                    "status": "unaffected",
                    "version": "7.2.4",
                    "versionType": "semver"
                  },
                  {
                    "lessThanOrEqual": "*",
                    "status": "unaffected",
                    "version": "7.3-rc1",
                    "versionType": "original_commit_for_fix"
                  }
                ]
              }
            ],
            "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
          }
        ],
        "cveTags": [],
        "descriptions": [
          {
            "lang": "en",
            "value": "In the Linux kernel, the following vulnerability has been resolved:\n\nsysctl: move the \"cad_pid\" entry from pid_table[] to kern_reboot_table[]\n\ncad_pid is global, and kill_cad_pid() is only used in the root namespace.\n\nHowever, due to pid_table_root_permissions(), a non-root user can unshare\npid/user namespaces and modify it from the child namespace. This makes no\nsense and is simply wrong.\n\nMove it to kern_reboot_table[] where it logically belongs; this ensures\nthat only GLOBAL_ROOT_UID can read/modify this sysctl.\n\nNote that this patch doesn\u0027t preserve \"#ifdef CONFIG_PROC_SYSCTL\" around\nthe \"cad_pid\"; CONFIG_PROC_SYSCTL selects CONFIG_SYSCTL, so it is always\nset when kern_reboot_table[] is compiled."
          }
        ],
        "id": "CVE-2026-80929",
        "lastModified": "2026-09-13T07:17:00.663",
        "metrics": {
          "cvssMetricV31": [
            {
              "cvssData": {
                "attackComplexity": "LOW",
                "attackVector": "LOCAL",
                "availabilityImpact": "HIGH",
                "baseScore": 7.8,
                "baseSeverity": "HIGH",
                "confidentialityImpact": "HIGH",
                "integrityImpact": "HIGH",
                "privilegesRequired": "LOW",
                "scope": "UNCHANGED",
                "userInteraction": "NONE",
                "vectorString": "CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H",
                "version": "3.1"
              },
              "exploitabilityScore": 1.8,
              "impactScore": 5.9,
              "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
              "type": "Secondary"
            }
          ]
        },
        "published": "2026-09-11T20:18:56.647",
        "references": [
          {
            "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
            "url": "https://git.kernel.org/stable/c/7170ca01623b399c97f2ae9d3e228badc1f25ea3"
          },
          {
            "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
            "url": "https://git.kernel.org/stable/c/a09bc4eaa67e1a72df3b6d0beb3afeef1e1fdfcd"
          },
          {
            "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
            "url": "https://git.kernel.org/stable/c/e8527de7fea191fda704792a56081f9009aeec37"
          }
        ],
        "sourceIdentifier": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
        "vulnStatus": "Received"
      }
    },
    "redhat_vex": {
      "aggregate_severity": "Moderate",
      "current_release_date": "2026-09-14T13:54:03+00:00",
      "cve": "CVE-2026-80929",
      "id": "CVE-2026-80929",
      "initial_release_date": "2026-09-11T00:00:00+00:00",
      "product_status:known_affected": "14",
      "product_status:known_not_affected": "262",
      "source": "Red Hat CSAF VEX",
      "status": "final",
      "title": "kernel: sysctl: move the \"cad_pid\" entry from pid_table[] to kern_reboot_table[]",
      "url": "https://security.access.redhat.com/data/csaf/v2/vex/2026/cve-2026-80929.json",
      "version": "3"
    },
    "suse_vex": {
      "aggregate_severity": "moderate",
      "current_release_date": "2026-09-15T01:06:17Z",
      "cve": "CVE-2026-80929",
      "id": "CVE-2026-80929",
      "initial_release_date": "2026-09-12T16:37:29Z",
      "product_status:known_not_affected": "353",
      "source": "SUSE CSAF VEX",
      "status": "interim",
      "title": "SUSE CVE CVE-2026-80929",
      "url": "https://ftp.suse.com/pub/projects/security/csaf-vex/cve-2026-80929.json",
      "version": "4"
    }
  }
}



Log in or create an account to share your comment.




Tags
Taxonomy of the tags.


Loading…

Loading…

Loading…

Forecast uses a logistic model when the trend is rising, or an exponential decay model when the trend is falling. Fitted via linearized least squares.

Sightings

Author Source Type Date Other

Nomenclature

  • Seen: The vulnerability was mentioned, discussed, or observed by the user.
  • Confirmed: The vulnerability has been validated from an analyst's perspective.
  • Published Proof of Concept: A public proof of concept is available for this vulnerability.
  • Exploited: The vulnerability was observed as exploited by the user who reported the sighting.
  • Patched: The vulnerability was observed as successfully patched by the user who reported the sighting.
  • Not exploited: The vulnerability was not observed as exploited by the user who reported the sighting.
  • Not confirmed: The user expressed doubt about the validity of the vulnerability.
  • Not patched: The vulnerability was not observed as successfully patched by the user who reported the sighting.

Loading…

Detection rules are retrieved from Rulezet.

Loading…

Loading…

Related by attack behaviour

Vulnerabilities whose description is nearest to this one in the vector space of the CIRCL/vulnerability-attack-technique-biencoder model. This is a similarity search over the bi-encoder space (plain cosine), not a classification, and it has no measured accuracy.


Loading…