{
  "schemaVersion": 1,
  "attribution": [
    {
      "source": "CISA Known Exploited Vulnerabilities",
      "url": "https://www.cisa.gov/known-exploited-vulnerabilities-catalog",
      "licence": "US government work"
    },
    {
      "source": "GitHub Advisory Database",
      "url": "https://github.com/advisories",
      "licence": "CC BY 4.0"
    },
    {
      "source": "Have I Been Pwned",
      "url": "https://haveibeenpwned.com/",
      "licence": "CC BY 4.0"
    },
    {
      "source": "CVE Program (CVE records)",
      "url": "https://www.cve.org/Legal/TermsOfUse",
      "licence": "CVE Terms of Use",
      "notice": "Copyright © 1999-2026, The MITRE Corporation. CVE is a trademark and the CVE logo is a registered trademark of The MITRE Corporation.",
      "terms": "CVE Usage: MITRE hereby grants you a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable copyright license to reproduce, prepare derivative works of, publicly display, publicly perform, sublicense, and distribute Common Vulnerabilities and Exposures (CVE™). Any copy you make for such purposes is authorized provided that you reproduce MITRE's copyright designation and this license in any such copy."
    },
    {
      "source": "FIRST EPSS",
      "url": "https://www.first.org/epss/",
      "licence": "free to use; FIRST requests attribution"
    }
  ],
  "record": {
    "id": "CVE-2025-40306",
    "sourceURL": "https://www.cve.org/CVERecord?id=CVE-2025-40306",
    "idYear": 2025,
    "status": "PUBLISHED",
    "publishedAt": "2025-12-08T00:46:31.514Z",
    "updatedAt": "2026-08-05T12:09:24.767Z",
    "importedAt": "2026-10-24T01:57:34.152Z",
    "snapshot": {
      "id": "cve_2026-10-24_midnight_baseline",
      "at": "2026-10-24T00:00:00.000Z",
      "source": "https://github.com/CVEProject/cvelistV5/releases/tag/cve_2026-10-24_0100Z"
    },
    "facts": {
      "title": "orangefs: fix xattr related buffer overflow...",
      "summary": "In the Linux kernel, the following vulnerability has been resolved:\n\norangefs: fix xattr related buffer overflow...\n\nWilly Tarreau <w@1wt.eu> forwarded me a message from\nDisclosure <disclosure@aisle.com> with the following\nwarning:\n\n> The helper `xattr_key()` uses the pointer variable in the loop condition\n> rather than dereferencing it. As `key` is incremented, it remains non-NULL\n> (until it runs into unmapped memory), so the loop does not terminate on\n> valid C strings and will walk memory indefinitely, consuming CPU or hanging\n> the thread.\n\nI easily reproduced this with setfattr and getfattr, causing a kernel\noops, hung user processes and corrupted orangefs files. Disclosure\nsent along a diff (not a patch) with a suggested fix, which I based\nthis patch on.\n\nAfter xattr_key started working right, xfstest generic/069 exposed an\nxattr related memory leak that lead to OOM. xattr_key returns\na hashed key.  When adding xattrs to the orangefs xattr cache, orangefs\nused hash_add, a kernel hashing macro. hash_add also hashes the key using\nhash_log which resulted in additions to the xattr cache going to the wrong\nhash bucket. generic/069 tortures a single file and orangefs does a\ngetattr for the xattr \"security.capability\" every time. Orangefs\nnegative caches on xattrs which includes a kmalloc. Since adds to the\nxattr cache were going to the wrong bucket, every getattr for\n\"security.capability\" resulted in another kmalloc, none of which were\never freed.\n\nI changed the two uses of hash_add to hlist_add_head instead\nand the memory leak ceased and generic/069 quit throwing furniture.",
      "affected": [
        {
          "vendor": "Linux",
          "product": "Linux",
          "defaultStatus": "unaffected",
          "versions": [
            {
              "version": "f7ab093f74bf638ed98fd1115f3efa17e308bb7f",
              "status": "affected",
              "versionType": "git",
              "lessThan": "c6564ff6b53c9a8dc786b6f1c51ae7688273f931"
            },
            {
              "version": "f7ab093f74bf638ed98fd1115f3efa17e308bb7f",
              "status": "affected",
              "versionType": "git",
              "lessThan": "ef892d2bf4f3fa2c8de1677dd307e678bdd3d865"
            },
            {
              "version": "f7ab093f74bf638ed98fd1115f3efa17e308bb7f",
              "status": "affected",
              "versionType": "git",
              "lessThan": "15afebb9597449c444801d1ff0b8d8b311f950ab"
            },
            {
              "version": "f7ab093f74bf638ed98fd1115f3efa17e308bb7f",
              "status": "affected",
              "versionType": "git",
              "lessThan": "bc812574de633cf9a9ad6974490e45f6a4bb5126"
            },
            {
              "version": "f7ab093f74bf638ed98fd1115f3efa17e308bb7f",
              "status": "affected",
              "versionType": "git",
              "lessThan": "e09a096104fc65859422817fb2211f35855983fe"
            },
            {
              "version": "f7ab093f74bf638ed98fd1115f3efa17e308bb7f",
              "status": "affected",
              "versionType": "git",
              "lessThan": "9127d1e90c90e5960c8bc72a4ce2c209691a7021"
            },
            {
              "version": "f7ab093f74bf638ed98fd1115f3efa17e308bb7f",
              "status": "affected",
              "versionType": "git",
              "lessThan": "c2ca015ac109fd743fdde27933d59dc5ad46658e"
            },
            {
              "version": "f7ab093f74bf638ed98fd1115f3efa17e308bb7f",
              "status": "affected",
              "versionType": "git",
              "lessThan": "025e880759c279ec64d0f754fe65bf45961da864"
            }
          ]
        },
        {
          "vendor": "Linux",
          "product": "Linux",
          "defaultStatus": "affected",
          "versions": [
            {
              "version": "4.6",
              "status": "affected"
            },
            {
              "version": "0",
              "status": "unaffected",
              "versionType": "semver",
              "lessThan": "4.6"
            },
            {
              "version": "5.4.302",
              "status": "unaffected",
              "versionType": "semver",
              "lessThanOrEqual": "5.4.*"
            },
            {
              "version": "5.10.247",
              "status": "unaffected",
              "versionType": "semver",
              "lessThanOrEqual": "5.10.*"
            },
            {
              "version": "5.15.197",
              "status": "unaffected",
              "versionType": "semver",
              "lessThanOrEqual": "5.15.*"
            },
            {
              "version": "6.1.159",
              "status": "unaffected",
              "versionType": "semver",
              "lessThanOrEqual": "6.1.*"
            },
            {
              "version": "6.6.117",
              "status": "unaffected",
              "versionType": "semver",
              "lessThanOrEqual": "6.6.*"
            },
            {
              "version": "6.12.58",
              "status": "unaffected",
              "versionType": "semver",
              "lessThanOrEqual": "6.12.*"
            },
            {
              "version": "6.17.8",
              "status": "unaffected",
              "versionType": "semver",
              "lessThanOrEqual": "6.17.*"
            },
            {
              "version": "6.18",
              "status": "unaffected",
              "versionType": "original_commit_for_fix",
              "lessThanOrEqual": "*"
            }
          ]
        }
      ]
    }
  }
}