cve-2024-57924
Vulnerability from cvelistv5
Published
2025-01-19 11:52
Modified
2025-01-23 17:01
Severity ?
Summary
In the Linux kernel, the following vulnerability has been resolved: fs: relax assertions on failure to encode file handles Encoding file handles is usually performed by a filesystem >encode_fh() method that may fail for various reasons. The legacy users of exportfs_encode_fh(), namely, nfsd and name_to_handle_at(2) syscall are ready to cope with the possibility of failure to encode a file handle. There are a few other users of exportfs_encode_{fh,fid}() that currently have a WARN_ON() assertion when ->encode_fh() fails. Relax those assertions because they are wrong. The second linked bug report states commit 16aac5ad1fa9 ("ovl: support encoding non-decodable file handles") in v6.6 as the regressing commit, but this is not accurate. The aforementioned commit only increases the chances of the assertion and allows triggering the assertion with the reproducer using overlayfs, inotify and drop_caches. Triggering this assertion was always possible with other filesystems and other reasons of ->encode_fh() failures and more particularly, it was also possible with the exact same reproducer using overlayfs that is mounted with options index=on,nfs_export=on also on kernels < v6.6. Therefore, I am not listing the aforementioned commit as a Fixes commit. Backport hint: this patch will have a trivial conflict applying to v6.6.y, and other trivial conflicts applying to stable kernels < v6.6.
Impacted products
Vendor Product Version
Linux Linux Version: 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2
Version: 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2
Version: 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2
Create a notification for this product.
   Linux Linux Create a notification for this product.
Show details on NVD website


{
  "containers": {
    "cna": {
      "affected": [
        {
          "defaultStatus": "unaffected",
          "product": "Linux",
          "programFiles": [
            "fs/notify/fdinfo.c",
            "fs/overlayfs/copy_up.c"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "vendor": "Linux",
          "versions": [
            {
              "lessThan": "f47c834a9131ae64bee3c462f4e610c67b0a000f",
              "status": "affected",
              "version": "1da177e4c3f41524e886b7f1b8a0c1fc7321cac2",
              "versionType": "git"
            },
            {
              "lessThan": "adcde2872f8fc399b249758ae1990dcd53b694ea",
              "status": "affected",
              "version": "1da177e4c3f41524e886b7f1b8a0c1fc7321cac2",
              "versionType": "git"
            },
            {
              "lessThan": "974e3fe0ac61de85015bbe5a4990cf4127b304b2",
              "status": "affected",
              "version": "1da177e4c3f41524e886b7f1b8a0c1fc7321cac2",
              "versionType": "git"
            }
          ]
        },
        {
          "defaultStatus": "affected",
          "product": "Linux",
          "programFiles": [
            "fs/notify/fdinfo.c",
            "fs/overlayfs/copy_up.c"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "vendor": "Linux",
          "versions": [
            {
              "lessThanOrEqual": "6.6.*",
              "status": "unaffected",
              "version": "6.6.74",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "6.12.*",
              "status": "unaffected",
              "version": "6.12.10",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "*",
              "status": "unaffected",
              "version": "6.13",
              "versionType": "original_commit_for_fix"
            }
          ]
        }
      ],
      "descriptions": [
        {
          "lang": "en",
          "value": "In the Linux kernel, the following vulnerability has been resolved:\n\nfs: relax assertions on failure to encode file handles\n\nEncoding file handles is usually performed by a filesystem \u003eencode_fh()\nmethod that may fail for various reasons.\n\nThe legacy users of exportfs_encode_fh(), namely, nfsd and\nname_to_handle_at(2) syscall are ready to cope with the possibility\nof failure to encode a file handle.\n\nThere are a few other users of exportfs_encode_{fh,fid}() that\ncurrently have a WARN_ON() assertion when -\u003eencode_fh() fails.\nRelax those assertions because they are wrong.\n\nThe second linked bug report states commit 16aac5ad1fa9 (\"ovl: support\nencoding non-decodable file handles\") in v6.6 as the regressing commit,\nbut this is not accurate.\n\nThe aforementioned commit only increases the chances of the assertion\nand allows triggering the assertion with the reproducer using overlayfs,\ninotify and drop_caches.\n\nTriggering this assertion was always possible with other filesystems and\nother reasons of -\u003eencode_fh() failures and more particularly, it was\nalso possible with the exact same reproducer using overlayfs that is\nmounted with options index=on,nfs_export=on also on kernels \u003c v6.6.\nTherefore, I am not listing the aforementioned commit as a Fixes commit.\n\nBackport hint: this patch will have a trivial conflict applying to\nv6.6.y, and other trivial conflicts applying to stable kernels \u003c v6.6."
        }
      ],
      "providerMetadata": {
        "dateUpdated": "2025-01-23T17:01:09.532Z",
        "orgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
        "shortName": "Linux"
      },
      "references": [
        {
          "url": "https://git.kernel.org/stable/c/f47c834a9131ae64bee3c462f4e610c67b0a000f"
        },
        {
          "url": "https://git.kernel.org/stable/c/adcde2872f8fc399b249758ae1990dcd53b694ea"
        },
        {
          "url": "https://git.kernel.org/stable/c/974e3fe0ac61de85015bbe5a4990cf4127b304b2"
        }
      ],
      "title": "fs: relax assertions on failure to encode file handles",
      "x_generator": {
        "engine": "bippy-5f407fcff5a0"
      }
    }
  },
  "cveMetadata": {
    "assignerOrgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
    "assignerShortName": "Linux",
    "cveId": "CVE-2024-57924",
    "datePublished": "2025-01-19T11:52:42.458Z",
    "dateReserved": "2025-01-19T11:50:08.376Z",
    "dateUpdated": "2025-01-23T17:01:09.532Z",
    "state": "PUBLISHED"
  },
  "dataType": "CVE_RECORD",
  "dataVersion": "5.1",
  "vulnerability-lookup:meta": {
    "nvd": "{\"cve\":{\"id\":\"CVE-2024-57924\",\"sourceIdentifier\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\",\"published\":\"2025-01-19T12:15:26.530\",\"lastModified\":\"2025-01-23T17:15:21.070\",\"vulnStatus\":\"Awaiting Analysis\",\"cveTags\":[],\"descriptions\":[{\"lang\":\"en\",\"value\":\"In the Linux kernel, the following vulnerability has been resolved:\\n\\nfs: relax assertions on failure to encode file handles\\n\\nEncoding file handles is usually performed by a filesystem \u003eencode_fh()\\nmethod that may fail for various reasons.\\n\\nThe legacy users of exportfs_encode_fh(), namely, nfsd and\\nname_to_handle_at(2) syscall are ready to cope with the possibility\\nof failure to encode a file handle.\\n\\nThere are a few other users of exportfs_encode_{fh,fid}() that\\ncurrently have a WARN_ON() assertion when -\u003eencode_fh() fails.\\nRelax those assertions because they are wrong.\\n\\nThe second linked bug report states commit 16aac5ad1fa9 (\\\"ovl: support\\nencoding non-decodable file handles\\\") in v6.6 as the regressing commit,\\nbut this is not accurate.\\n\\nThe aforementioned commit only increases the chances of the assertion\\nand allows triggering the assertion with the reproducer using overlayfs,\\ninotify and drop_caches.\\n\\nTriggering this assertion was always possible with other filesystems and\\nother reasons of -\u003eencode_fh() failures and more particularly, it was\\nalso possible with the exact same reproducer using overlayfs that is\\nmounted with options index=on,nfs_export=on also on kernels \u003c v6.6.\\nTherefore, I am not listing the aforementioned commit as a Fixes commit.\\n\\nBackport hint: this patch will have a trivial conflict applying to\\nv6.6.y, and other trivial conflicts applying to stable kernels \u003c v6.6.\"},{\"lang\":\"es\",\"value\":\"En el kernel de Linux, se ha resuelto la siguiente vulnerabilidad: fs: relajar las aserciones en caso de fallo en la codificaci\u00f3n de identificadores de archivos La codificaci\u00f3n de identificadores de archivos normalmente se realiza mediante un m\u00e9todo \u0026gt;encode_fh() del sistema de archivos que puede fallar por varias razones. Los usuarios heredados de exportfs_encode_fh(), es decir, nfsd y la llamada al sistema name_to_handle_at(2) est\u00e1n preparados para hacer frente a la posibilidad de un fallo en la codificaci\u00f3n de un identificador de archivo. Hay algunos otros usuarios de exportfs_encode_{fh,fid}() que actualmente tienen una aserci\u00f3n WARN_ON() cuando -\u0026gt;encode_fh() falla. Relajen esas aserciones porque son incorrectas. El segundo informe de error vinculado indica el commit 16aac5ad1fa9 (\\\"ovl: compatibilidad con la codificaci\u00f3n de identificadores de archivos no decodificables\\\") en v6.6 como el commit regresiva, pero esto no es exacto. El commit mencionado anteriormente solo aumenta las posibilidades de la aserci\u00f3n y permite activar la aserci\u00f3n con el reproductor usando overlayfs, inotify y drop_caches. Activar esta aserci\u00f3n siempre fue posible con otros sistemas de archivos y otras razones de fallas de -\u0026gt;encode_fh() y, m\u00e1s particularmente, tambi\u00e9n fue posible con el mismo reproductor exacto usando overlayfs que est\u00e1 montado con las opciones index=on,nfs_export=on tambi\u00e9n en kernels \u0026lt; v6.6. Por lo tanto, no estoy listando el commit mencionado anteriormente como un commit de correcciones. Sugerencia de retroportaci\u00f3n: este parche tendr\u00e1 un conflicto trivial que se aplica a v6.6.y, y otros conflictos triviales que se aplican a kernels estables \u0026lt; v6.6.\"}],\"metrics\":{},\"references\":[{\"url\":\"https://git.kernel.org/stable/c/974e3fe0ac61de85015bbe5a4990cf4127b304b2\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\"},{\"url\":\"https://git.kernel.org/stable/c/adcde2872f8fc399b249758ae1990dcd53b694ea\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\"},{\"url\":\"https://git.kernel.org/stable/c/f47c834a9131ae64bee3c462f4e610c67b0a000f\",\"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.