CVE-2026-72460 (GCVE-0-2026-72460)
Vulnerability from cvelistv5
Published
2026-08-15 05:57
Modified
2026-08-17 05:44
Summary
In the Linux kernel, the following vulnerability has been resolved: apparmor: check label build before no_new_privs test aa_change_profile() builds a replacement label with fn_label_build_in_scope() before the no_new_privs subset check. The build helper can fail and return NULL or an ERR_PTR, but the result was passed to aa_label_is_unconfined_subset() before the existing IS_ERR_OR_NULL() check. Reuse the existing target-label build failure handling immediately after the build. This preserves the current audit handling while preventing the subset helper from dereferencing an invalid label.
Impacted products
Vendor Product Version
Linux Linux Version: e00b02bb6ac2a1893227ce8014b649028d6425d2
Version: e00b02bb6ac2a1893227ce8014b649028d6425d2
Version: e00b02bb6ac2a1893227ce8014b649028d6425d2
Version: e00b02bb6ac2a1893227ce8014b649028d6425d2
Version: e00b02bb6ac2a1893227ce8014b649028d6425d2
Version: e00b02bb6ac2a1893227ce8014b649028d6425d2
Version: e00b02bb6ac2a1893227ce8014b649028d6425d2
Version: e00b02bb6ac2a1893227ce8014b649028d6425d2
Create a notification for this product.
Show details on NVD website


{
  "containers": {
    "cna": {
      "affected": [
        {
          "defaultStatus": "unaffected",
          "product": "Linux",
          "programFiles": [
            "security/apparmor/domain.c"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "vendor": "Linux",
          "versions": [
            {
              "lessThan": "a29f06db44b4c94597ded58f639eed3e21781ac3",
              "status": "affected",
              "version": "e00b02bb6ac2a1893227ce8014b649028d6425d2",
              "versionType": "git"
            },
            {
              "lessThan": "cfc224866530a6842b6c2d2d30ef6a9b0e64bb9c",
              "status": "affected",
              "version": "e00b02bb6ac2a1893227ce8014b649028d6425d2",
              "versionType": "git"
            },
            {
              "lessThan": "31cb109db5e6322ed22304fd5c0dedbaa438d6d3",
              "status": "affected",
              "version": "e00b02bb6ac2a1893227ce8014b649028d6425d2",
              "versionType": "git"
            },
            {
              "lessThan": "b7c45c05a396a017c49ac7949de240a0dfc0ac4e",
              "status": "affected",
              "version": "e00b02bb6ac2a1893227ce8014b649028d6425d2",
              "versionType": "git"
            },
            {
              "lessThan": "d84bb195d208adbf77f012ca2a96e11163f6def1",
              "status": "affected",
              "version": "e00b02bb6ac2a1893227ce8014b649028d6425d2",
              "versionType": "git"
            },
            {
              "lessThan": "d82160132345688a09cbaa648cfdd16bb32e8ea2",
              "status": "affected",
              "version": "e00b02bb6ac2a1893227ce8014b649028d6425d2",
              "versionType": "git"
            },
            {
              "lessThan": "ec926b2a351eeeb31e6c9aee02e0c32f94b5588f",
              "status": "affected",
              "version": "e00b02bb6ac2a1893227ce8014b649028d6425d2",
              "versionType": "git"
            },
            {
              "lessThan": "a58cafd38b46fb1a2220e2fbbcfe291ea75fa147",
              "status": "affected",
              "version": "e00b02bb6ac2a1893227ce8014b649028d6425d2",
              "versionType": "git"
            }
          ]
        },
        {
          "defaultStatus": "affected",
          "product": "Linux",
          "programFiles": [
            "security/apparmor/domain.c"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "vendor": "Linux",
          "versions": [
            {
              "status": "affected",
              "version": "4.13"
            },
            {
              "lessThan": "4.13",
              "status": "unaffected",
              "version": "0",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "5.10.*",
              "status": "unaffected",
              "version": "5.10.261",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "5.15.*",
              "status": "unaffected",
              "version": "5.15.212",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "6.1.*",
              "status": "unaffected",
              "version": "6.1.178",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "6.6.*",
              "status": "unaffected",
              "version": "6.6.145",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "6.12.*",
              "status": "unaffected",
              "version": "6.12.97",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "6.18.*",
              "status": "unaffected",
              "version": "6.18.40",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "7.1.*",
              "status": "unaffected",
              "version": "7.1.5",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "*",
              "status": "unaffected",
              "version": "7.2",
              "versionType": "original_commit_for_fix"
            }
          ]
        }
      ],
      "cpeApplicability": [
        {
          "nodes": [
            {
              "cpeMatch": [
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "5.10.261",
                  "versionStartIncluding": "4.13",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "5.15.212",
                  "versionStartIncluding": "4.13",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.1.178",
                  "versionStartIncluding": "4.13",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.6.145",
                  "versionStartIncluding": "4.13",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.12.97",
                  "versionStartIncluding": "4.13",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.18.40",
                  "versionStartIncluding": "4.13",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "7.1.5",
                  "versionStartIncluding": "4.13",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "7.2",
                  "versionStartIncluding": "4.13",
                  "vulnerable": true
                }
              ],
              "negate": false,
              "operator": "OR"
            }
          ]
        }
      ],
      "descriptions": [
        {
          "lang": "en",
          "value": "In the Linux kernel, the following vulnerability has been resolved:\n\napparmor: check label build before no_new_privs test\n\naa_change_profile() builds a replacement label with\nfn_label_build_in_scope() before the no_new_privs subset check. The build\nhelper can fail and return NULL or an ERR_PTR, but the result was passed\nto aa_label_is_unconfined_subset() before the existing IS_ERR_OR_NULL()\ncheck.\n\nReuse the existing target-label build failure handling immediately after\nthe build. This preserves the current audit handling while preventing the\nsubset helper from dereferencing an invalid label."
        }
      ],
      "metrics": [
        {
          "cvssV3_1": {
            "baseScore": 7.1,
            "baseSeverity": "HIGH",
            "vectorString": "CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:H",
            "version": "3.1"
          },
          "scenarios": [
            {
              "lang": "en",
              "value": "AV:L - The flaw is reached only through a local write to /proc/self/attr/current or /proc/self/attr/exec (changeprofile/exec), which flows through proc_pid_attr_write and the AppArmor setprocattr hook into aa_change_profile(); there is no network, adjacent-radio, or physical-device entry point.\nAC:L - Once a confined task with policy-granted changeprofile and PR_SET_NO_NEW_PRIVS calls the interface, fn_label_build_in_scope() failure (e.g., GFP_KERNEL ENOMEM from memory pressure) is reliably attacker-influenced and immediately triggers the invalid dereference without races or victim-dependent timing.\nPR:L - Exploitation requires a local unprivileged process confined by AppArmor whose policy permits changeprofile/onexec to the requested target; prctl(PR_SET_NO_NEW_PRIVS) is self-settable and does not require real root or init-namespace capabilities.\nUI:N - The attacker triggers the bug by writing to their own process attribute file; no separate victim action such as opening a file, mounting a filesystem, or clicking a link is required.\nS:U - The vulnerable AppArmor kernel code and the resulting kernel oops/panic affect the same OS security authority; this is not a VM escape, IOMMU bypass, or cross-authority sandbox breakout as defined by CVSS scope.\nC:H - aa_label_is_unconfined_subset() dereferences the failed label pointer (NULL or ERR_PTR) to read aa_label fields such as size/vec; ERR_PTR values are non-NULL kernel-range addresses, so the fault path includes an invalid kernel-memory read that can leak data before oops under worst-case layout.\nI:N - The bug performs invalid reads through a bad label pointer and does not write memory, corrupt adjacent objects, or complete an unauthorized aa_replace_current_label(); failed builds are still rejected later, so integrity impact is limited to the read-side fault rather than modification or code execution.\nA:H - Dereferencing NULL or ERR_PTR labels in aa_label_is_unconfined_subset() causes a kernel BUG/oops/panic, yielding host-wide denial of service on AppArmor-enabled systems and repeatable crashes from the same procattr write."
            }
          ]
        }
      ],
      "providerMetadata": {
        "dateUpdated": "2026-08-17T05:44:26.306Z",
        "orgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
        "shortName": "Linux"
      },
      "references": [
        {
          "url": "https://git.kernel.org/stable/c/a29f06db44b4c94597ded58f639eed3e21781ac3"
        },
        {
          "url": "https://git.kernel.org/stable/c/cfc224866530a6842b6c2d2d30ef6a9b0e64bb9c"
        },
        {
          "url": "https://git.kernel.org/stable/c/31cb109db5e6322ed22304fd5c0dedbaa438d6d3"
        },
        {
          "url": "https://git.kernel.org/stable/c/b7c45c05a396a017c49ac7949de240a0dfc0ac4e"
        },
        {
          "url": "https://git.kernel.org/stable/c/d84bb195d208adbf77f012ca2a96e11163f6def1"
        },
        {
          "url": "https://git.kernel.org/stable/c/d82160132345688a09cbaa648cfdd16bb32e8ea2"
        },
        {
          "url": "https://git.kernel.org/stable/c/ec926b2a351eeeb31e6c9aee02e0c32f94b5588f"
        },
        {
          "url": "https://git.kernel.org/stable/c/a58cafd38b46fb1a2220e2fbbcfe291ea75fa147"
        }
      ],
      "title": "apparmor: check label build before no_new_privs test",
      "x_generator": {
        "engine": "bippy-1.2.0"
      }
    }
  },
  "cveMetadata": {
    "assignerOrgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
    "assignerShortName": "Linux",
    "cveId": "CVE-2026-72460",
    "datePublished": "2026-08-15T05:57:05.404Z",
    "dateReserved": "2026-08-09T03:40:39.932Z",
    "dateUpdated": "2026-08-17T05:44:26.306Z",
    "state": "PUBLISHED"
  },
  "dataType": "CVE_RECORD",
  "dataVersion": "5.2"
}


Log in or create an account to share your comment.




Tags
Taxonomy of the tags.


Loading…

Loading…

Loading…

Sightings

Author Source Type Date

Nomenclature

  • Seen: The vulnerability was mentioned, discussed, or seen somewhere by the user.
  • Confirmed: The vulnerability is confirmed from an analyst perspective.
  • Published Proof of Concept: A public proof of concept is available for this vulnerability.
  • Exploited: This vulnerability was exploited and seen by the user reporting the sighting.
  • Patched: This vulnerability was successfully patched by the user reporting the sighting.
  • Not exploited: This vulnerability was not exploited or seen by the user reporting the sighting.
  • Not confirmed: The user expresses doubt about the veracity of the vulnerability.
  • Not patched: This vulnerability was not successfully patched by the user reporting the sighting.


Loading…

Loading…