CVE-2024-26630
Vulnerability from cvelistv5
Published
2024-03-13 15:50
Modified
2024-11-05 09:12
Severity ?
Summary
mm: cachestat: fix folio read-after-free in cache walk
Impacted products
LinuxLinux
LinuxLinux
Show details on NVD website


{
  "containers": {
    "adp": [
      {
        "metrics": [
          {
            "other": {
              "content": {
                "id": "CVE-2024-26630",
                "options": [
                  {
                    "Exploitation": "none"
                  },
                  {
                    "Automatable": "no"
                  },
                  {
                    "Technical Impact": "partial"
                  }
                ],
                "role": "CISA Coordinator",
                "timestamp": "2024-03-13T19:45:46.313433Z",
                "version": "2.0.3"
              },
              "type": "ssvc"
            }
          }
        ],
        "providerMetadata": {
          "dateUpdated": "2024-06-04T17:49:39.851Z",
          "orgId": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
          "shortName": "CISA-ADP"
        },
        "title": "CISA ADP Vulnrichment"
      },
      {
        "providerMetadata": {
          "dateUpdated": "2024-08-02T00:07:19.749Z",
          "orgId": "af854a3a-2127-422b-91ae-364da2661108",
          "shortName": "CVE"
        },
        "references": [
          {
            "tags": [
              "x_transferred"
            ],
            "url": "https://git.kernel.org/stable/c/ba60fdf75e89ea762bb617be578dc47f27655117"
          },
          {
            "tags": [
              "x_transferred"
            ],
            "url": "https://git.kernel.org/stable/c/fe7e008e0ce728252e4ec652cceebcc62211657c"
          },
          {
            "tags": [
              "x_transferred"
            ],
            "url": "https://git.kernel.org/stable/c/3a75cb05d53f4a6823a32deb078de1366954a804"
          }
        ],
        "title": "CVE Program Container"
      }
    ],
    "cna": {
      "affected": [
        {
          "defaultStatus": "unaffected",
          "product": "Linux",
          "programFiles": [
            "mm/filemap.c"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "vendor": "Linux",
          "versions": [
            {
              "lessThan": "ba60fdf75e89",
              "status": "affected",
              "version": "cf264e1329fb",
              "versionType": "git"
            },
            {
              "lessThan": "fe7e008e0ce7",
              "status": "affected",
              "version": "cf264e1329fb",
              "versionType": "git"
            },
            {
              "lessThan": "3a75cb05d53f",
              "status": "affected",
              "version": "cf264e1329fb",
              "versionType": "git"
            }
          ]
        },
        {
          "defaultStatus": "affected",
          "product": "Linux",
          "programFiles": [
            "mm/filemap.c"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "vendor": "Linux",
          "versions": [
            {
              "status": "affected",
              "version": "6.5"
            },
            {
              "lessThan": "6.5",
              "status": "unaffected",
              "version": "0",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "6.6.*",
              "status": "unaffected",
              "version": "6.6.21",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "6.7.*",
              "status": "unaffected",
              "version": "6.7.9",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "*",
              "status": "unaffected",
              "version": "6.8",
              "versionType": "original_commit_for_fix"
            }
          ]
        }
      ],
      "descriptions": [
        {
          "lang": "en",
          "value": "In the Linux kernel, the following vulnerability has been resolved:\n\nmm: cachestat: fix folio read-after-free in cache walk\n\nIn cachestat, we access the folio from the page cache\u0027s xarray to compute\nits page offset, and check for its dirty and writeback flags.  However, we\ndo not hold a reference to the folio before performing these actions,\nwhich means the folio can concurrently be released and reused as another\nfolio/page/slab.\n\nGet around this altogether by just using xarray\u0027s existing machinery for\nthe folio page offsets and dirty/writeback states.\n\nThis changes behavior for tmpfs files to now always report zeroes in their\ndirty and writeback counters.  This is okay as tmpfs doesn\u0027t follow\nconventional writeback cache behavior: its pages get \"cleaned\" during\nswapout, after which they\u0027re no longer resident etc."
        }
      ],
      "providerMetadata": {
        "dateUpdated": "2024-11-05T09:12:52.548Z",
        "orgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
        "shortName": "Linux"
      },
      "references": [
        {
          "url": "https://git.kernel.org/stable/c/ba60fdf75e89ea762bb617be578dc47f27655117"
        },
        {
          "url": "https://git.kernel.org/stable/c/fe7e008e0ce728252e4ec652cceebcc62211657c"
        },
        {
          "url": "https://git.kernel.org/stable/c/3a75cb05d53f4a6823a32deb078de1366954a804"
        }
      ],
      "title": "mm: cachestat: fix folio read-after-free in cache walk",
      "x_generator": {
        "engine": "bippy-9e1c9544281a"
      }
    }
  },
  "cveMetadata": {
    "assignerOrgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
    "assignerShortName": "Linux",
    "cveId": "CVE-2024-26630",
    "datePublished": "2024-03-13T15:50:32.480Z",
    "dateReserved": "2024-02-19T14:20:24.135Z",
    "dateUpdated": "2024-11-05T09:12:52.548Z",
    "state": "PUBLISHED"
  },
  "dataType": "CVE_RECORD",
  "dataVersion": "5.1",
  "meta": {
    "nvd": "{\"cve\":{\"id\":\"CVE-2024-26630\",\"sourceIdentifier\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\",\"published\":\"2024-03-13T16:15:30.047\",\"lastModified\":\"2024-03-13T18:15:58.530\",\"vulnStatus\":\"Awaiting Analysis\",\"descriptions\":[{\"lang\":\"en\",\"value\":\"In the Linux kernel, the following vulnerability has been resolved:\\n\\nmm: cachestat: fix folio read-after-free in cache walk\\n\\nIn cachestat, we access the folio from the page cache\u0027s xarray to compute\\nits page offset, and check for its dirty and writeback flags.  However, we\\ndo not hold a reference to the folio before performing these actions,\\nwhich means the folio can concurrently be released and reused as another\\nfolio/page/slab.\\n\\nGet around this altogether by just using xarray\u0027s existing machinery for\\nthe folio page offsets and dirty/writeback states.\\n\\nThis changes behavior for tmpfs files to now always report zeroes in their\\ndirty and writeback counters.  This is okay as tmpfs doesn\u0027t follow\\nconventional writeback cache behavior: its pages get \\\"cleaned\\\" during\\nswapout, after which they\u0027re no longer resident etc.\"},{\"lang\":\"es\",\"value\":\"En el kernel de Linux, se ha resuelto la siguiente vulnerabilidad: mm: cachestat: corrige read-after-free la publicaci\u00f3n en cache walk En cachestat, accedemos a la publicaci\u00f3n desde la matriz x de la cach\u00e9 de la p\u00e1gina para calcular su desplazamiento de p\u00e1gina y comprobar si est\u00e1 sucia y banderas de reescritura. Sin embargo, no mantenemos una referencia al folio antes de realizar estas acciones, lo que significa que el folio se puede liberar y reutilizar simult\u00e1neamente como otro folio/p\u00e1gina/losa. Evite esto por completo simplemente utilizando la maquinaria existente de xarray para los desplazamientos de p\u00e1ginas de folio y los estados sucios/de reescritura. Esto cambia el comportamiento de los archivos tmpfs para que ahora siempre informen ceros en sus contadores sucios y de reescritura. Esto est\u00e1 bien ya que tmpfs no sigue el comportamiento de cach\u00e9 de reescritura convencional: sus p\u00e1ginas se \\\"limpian\\\" durante el intercambio, despu\u00e9s del cual ya no residen, etc.\"}],\"metrics\":{},\"references\":[{\"url\":\"https://git.kernel.org/stable/c/3a75cb05d53f4a6823a32deb078de1366954a804\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\"},{\"url\":\"https://git.kernel.org/stable/c/ba60fdf75e89ea762bb617be578dc47f27655117\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\"},{\"url\":\"https://git.kernel.org/stable/c/fe7e008e0ce728252e4ec652cceebcc62211657c\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\"}]}}"
  }
}


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.
  • 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.