{
  "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-31455",
    "sourceURL": "https://www.cve.org/CVERecord?id=CVE-2026-31455",
    "idYear": 2026,
    "status": "PUBLISHED",
    "publishedAt": "2026-04-22T13:53:48.914Z",
    "updatedAt": "2026-05-11T22:09:03.235Z",
    "importedAt": "2026-10-24T01:58:02.025Z",
    "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": "xfs: stop reclaim before pushing AIL during unmount",
      "summary": "In the Linux kernel, the following vulnerability has been resolved:\n\nxfs: stop reclaim before pushing AIL during unmount\n\nThe unmount sequence in xfs_unmount_flush_inodes() pushed the AIL while\nbackground reclaim and inodegc are still running. This is broken\nindependently of any use-after-free issues - background reclaim and\ninodegc should not be running while the AIL is being pushed during\nunmount, as inodegc can dirty and insert inodes into the AIL during the\nflush, and background reclaim can race to abort and free dirty inodes.\n\nReorder xfs_unmount_flush_inodes() to stop inodegc and cancel background\nreclaim before pushing the AIL. Stop inodegc before cancelling\nm_reclaim_work because the inodegc worker can re-queue m_reclaim_work\nvia xfs_inodegc_set_reclaimable.",
      "affected": [
        {
          "vendor": "Linux",
          "product": "Linux",
          "defaultStatus": "unaffected",
          "versions": [
            {
              "version": "90c60e16401248a4900f3f9387f563d0178dcf34",
              "status": "affected",
              "versionType": "git",
              "lessThan": "e6cc490048f78b009259a5f032acead9f789c34c"
            },
            {
              "version": "90c60e16401248a4900f3f9387f563d0178dcf34",
              "status": "affected",
              "versionType": "git",
              "lessThan": "239d734c00644072862fa833805c4471573b1445"
            },
            {
              "version": "90c60e16401248a4900f3f9387f563d0178dcf34",
              "status": "affected",
              "versionType": "git",
              "lessThan": "bda27fc0b4eb3a425d9a18475c4cb94fbe862c60"
            },
            {
              "version": "90c60e16401248a4900f3f9387f563d0178dcf34",
              "status": "affected",
              "versionType": "git",
              "lessThan": "d38135af04a3ad8a585c899d176efc8e97853115"
            },
            {
              "version": "90c60e16401248a4900f3f9387f563d0178dcf34",
              "status": "affected",
              "versionType": "git",
              "lessThan": "a89434a6188d8430ea31120da96e3e4cefb58686"
            },
            {
              "version": "90c60e16401248a4900f3f9387f563d0178dcf34",
              "status": "affected",
              "versionType": "git",
              "lessThan": "8147e304d7d32fd5c3e943babc296ce2873dc279"
            },
            {
              "version": "90c60e16401248a4900f3f9387f563d0178dcf34",
              "status": "affected",
              "versionType": "git",
              "lessThan": "558e3275d8a3b101be18a7fe7d1634053e9d9b07"
            },
            {
              "version": "90c60e16401248a4900f3f9387f563d0178dcf34",
              "status": "affected",
              "versionType": "git",
              "lessThan": "4f24a767e3d64a5f58c595b5c29b6063a201f1e3"
            }
          ]
        },
        {
          "vendor": "Linux",
          "product": "Linux",
          "defaultStatus": "affected",
          "versions": [
            {
              "version": "5.9",
              "status": "affected"
            },
            {
              "version": "0",
              "status": "unaffected",
              "versionType": "semver",
              "lessThan": "5.9"
            },
            {
              "version": "5.10.253",
              "status": "unaffected",
              "versionType": "semver",
              "lessThanOrEqual": "5.10.*"
            },
            {
              "version": "5.15.203",
              "status": "unaffected",
              "versionType": "semver",
              "lessThanOrEqual": "5.15.*"
            },
            {
              "version": "6.1.168",
              "status": "unaffected",
              "versionType": "semver",
              "lessThanOrEqual": "6.1.*"
            },
            {
              "version": "6.6.131",
              "status": "unaffected",
              "versionType": "semver",
              "lessThanOrEqual": "6.6.*"
            },
            {
              "version": "6.12.80",
              "status": "unaffected",
              "versionType": "semver",
              "lessThanOrEqual": "6.12.*"
            },
            {
              "version": "6.18.21",
              "status": "unaffected",
              "versionType": "semver",
              "lessThanOrEqual": "6.18.*"
            },
            {
              "version": "6.19.11",
              "status": "unaffected",
              "versionType": "semver",
              "lessThanOrEqual": "6.19.*"
            },
            {
              "version": "7.0",
              "status": "unaffected",
              "versionType": "original_commit_for_fix",
              "lessThanOrEqual": "*"
            }
          ]
        }
      ]
    }
  }
}