{
  "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-2026-53397",
    "sourceURL": "https://www.cve.org/CVERecord?id=CVE-2026-53397",
    "idYear": 2026,
    "status": "PUBLISHED",
    "publishedAt": "2026-07-19T12:01:58.938Z",
    "updatedAt": "2026-10-19T20:07:46.415Z",
    "importedAt": "2026-10-24T01:58:20.586Z",
    "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": "nfsd: fix posix_acl leak on SETACL decode failure",
      "summary": "In the Linux kernel, the following vulnerability has been resolved:\n\nnfsd: fix posix_acl leak on SETACL decode failure\n\nnfsaclsvc_decode_setaclargs() and nfs3svc_decode_setaclargs() each\ncall nfs_stream_decode_acl() twice, first for NFS_ACL and then for\nNFS_DFACL.  Each successful call transfers ownership of a freshly\nallocated posix_acl into argp->acl_access or argp->acl_default.  If\nthe first call succeeds but the second fails, the decoder returns\nfalse and argp->acl_access is left dangling.\n\nACLPROC2_SETACL.pc_release was wired to nfssvc_release_attrstat and\nACLPROC3_SETACL.pc_release was wired to nfs3svc_release_fhandle.\nBoth only call fh_put() and have no knowledge of the ACL fields on\nargp.  The posix_acl_release() pairs sat at the out: labels inside\nnfsacld_proc_setacl() and nfsd3_proc_setacl(), but svc_process()\nskips pc_func when pc_decode returns false, so that cleanup is\nunreachable on decode failure:\n\n    svc_process_common()\n      pc_decode()                  /* decode_setaclargs: false */\n      /* pc_func skipped */\n      pc_release()                 /* fh_put only -- ACLs leaked */\n\nThe orphaned posix_acl is leaked for the lifetime of the server.\n\nFix by adding nfsaclsvc_release_setacl() and nfs3svc_release_setacl(),\nwhich release both argp->acl_access and argp->acl_default in addition\nto fh_put(), and wiring them as pc_release for their respective SETACL\nprocedures.  pc_release runs on every path svc_process() takes after\ndecode, including decode failure, so the posix_acl_release() pairs are\nremoved from the proc functions' out: labels to keep ownership in one\nplace.  This matches the existing release_getacl() pattern used by\nthe sibling GETACL procedures.",
      "affected": [
        {
          "vendor": "Linux",
          "product": "Linux",
          "defaultStatus": "unaffected",
          "versions": [
            {
              "version": "a257cdd0e2179630d3201c32ba14d7fcb3c3a055",
              "status": "affected",
              "versionType": "git",
              "lessThan": "b2eb1ffd511d1b3c3e21122f97cbbccea411e277"
            },
            {
              "version": "a257cdd0e2179630d3201c32ba14d7fcb3c3a055",
              "status": "affected",
              "versionType": "git",
              "lessThan": "b94c4be77682aab06d65ca7296149e3bcfb37353"
            },
            {
              "version": "a257cdd0e2179630d3201c32ba14d7fcb3c3a055",
              "status": "affected",
              "versionType": "git",
              "lessThan": "887f92ceccf3eacd5f2402db21254d66372fae00"
            },
            {
              "version": "a257cdd0e2179630d3201c32ba14d7fcb3c3a055",
              "status": "affected",
              "versionType": "git",
              "lessThan": "1e96239fddcefacf6afe6c498357be68eacbcabc"
            },
            {
              "version": "a257cdd0e2179630d3201c32ba14d7fcb3c3a055",
              "status": "affected",
              "versionType": "git",
              "lessThan": "bd69a825485168ef74e815ecb286754b570fdcc7"
            },
            {
              "version": "a257cdd0e2179630d3201c32ba14d7fcb3c3a055",
              "status": "affected",
              "versionType": "git",
              "lessThan": "136b416593f1349cf6f72c8e3d18f0f204ee8545"
            },
            {
              "version": "a257cdd0e2179630d3201c32ba14d7fcb3c3a055",
              "status": "affected",
              "versionType": "git",
              "lessThan": "a5b42c1e4ff2befaa6b96f7cbf32174751eba083"
            },
            {
              "version": "a257cdd0e2179630d3201c32ba14d7fcb3c3a055",
              "status": "affected",
              "versionType": "git",
              "lessThan": "0853ac544c590880d797b04daa33fcb72b6be0e1"
            }
          ]
        },
        {
          "vendor": "Linux",
          "product": "Linux",
          "defaultStatus": "affected",
          "versions": [
            {
              "version": "2.6.13",
              "status": "affected"
            },
            {
              "version": "0",
              "status": "unaffected",
              "versionType": "semver",
              "lessThan": "2.6.13"
            },
            {
              "version": "5.10.260",
              "status": "unaffected",
              "versionType": "semver",
              "lessThanOrEqual": "5.10.*"
            },
            {
              "version": "5.15.211",
              "status": "unaffected",
              "versionType": "semver",
              "lessThanOrEqual": "5.15.*"
            },
            {
              "version": "6.1.177",
              "status": "unaffected",
              "versionType": "semver",
              "lessThanOrEqual": "6.1.*"
            },
            {
              "version": "6.6.144",
              "status": "unaffected",
              "versionType": "semver",
              "lessThanOrEqual": "6.6.*"
            },
            {
              "version": "6.12.95",
              "status": "unaffected",
              "versionType": "semver",
              "lessThanOrEqual": "6.12.*"
            },
            {
              "version": "6.18.38",
              "status": "unaffected",
              "versionType": "semver",
              "lessThanOrEqual": "6.18.*"
            },
            {
              "version": "7.1.3",
              "status": "unaffected",
              "versionType": "semver",
              "lessThanOrEqual": "7.1.*"
            },
            {
              "version": "7.2",
              "status": "unaffected",
              "versionType": "original_commit_for_fix",
              "lessThanOrEqual": "*"
            }
          ]
        }
      ]
    }
  }
}