CVE-2023-53593 (GCVE-0-2023-53593)

Vulnerability from cvelistv5 – Published: 2025-10-04 15:44 – Updated: 2025-10-04 15:44
VLAI?
Summary
In the Linux kernel, the following vulnerability has been resolved: cifs: Release folio lock on fscache read hit. Under the current code, when cifs_readpage_worker is called, the call contract is that the callee should unlock the page. This is documented in the read_folio section of Documentation/filesystems/vfs.rst as: > The filesystem should unlock the folio once the read has completed, > whether it was successful or not. Without this change, when fscache is in use and cache hit occurs during a read, the page lock is leaked, producing the following stack on subsequent reads (via mmap) to the page: $ cat /proc/3890/task/12864/stack [<0>] folio_wait_bit_common+0x124/0x350 [<0>] filemap_read_folio+0xad/0xf0 [<0>] filemap_fault+0x8b1/0xab0 [<0>] __do_fault+0x39/0x150 [<0>] do_fault+0x25c/0x3e0 [<0>] __handle_mm_fault+0x6ca/0xc70 [<0>] handle_mm_fault+0xe9/0x350 [<0>] do_user_addr_fault+0x225/0x6c0 [<0>] exc_page_fault+0x84/0x1b0 [<0>] asm_exc_page_fault+0x27/0x30 This requires a reboot to resolve; it is a deadlock. Note however that the call to cifs_readpage_from_fscache does mark the page clean, but does not free the folio lock. This happens in __cifs_readpage_from_fscache on success. Releasing the lock at that point however is not appropriate as cifs_readahead also calls cifs_readpage_from_fscache and *does* unconditionally release the lock after its return. This change therefore effectively makes cifs_readpage_worker work like cifs_readahead.
Severity ?
No CVSS data available.
Assigner
Impacted products
Vendor Product Version
Linux Linux Affected: 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 , < c3ac8323f2f5b50e32681c254b8318f7fa2dc3f4 (git)
Affected: 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 , < 5a87735675147f848445f05fd1f06168188f91af (git)
Affected: 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 , < 4259dd534245579c966c53c15187cc8e9461d6e9 (git)
Affected: 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 , < 6e74926ede96470be84e66a1c576982fe4f8ea79 (git)
Affected: 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 , < 961f7ce16223aee2db583a43877d84e6d1f2b857 (git)
Affected: 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 , < 9e725386d4262ef23ae51993f04602bc535b5be2 (git)
Affected: 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 , < 7a9fb689c1a1dc373887621a3bfa3810df0abde4 (git)
Affected: 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 , < 69513dd669e243928f7450893190915a88f84a2b (git)
Create a notification for this product.
    Linux Linux Unaffected: 4.14.324 , ≤ 4.14.* (semver)
Unaffected: 4.19.293 , ≤ 4.19.* (semver)
Unaffected: 5.4.255 , ≤ 5.4.* (semver)
Unaffected: 5.10.192 , ≤ 5.10.* (semver)
Unaffected: 5.15.128 , ≤ 5.15.* (semver)
Unaffected: 6.1.47 , ≤ 6.1.* (semver)
Unaffected: 6.4.12 , ≤ 6.4.* (semver)
Unaffected: 6.5 , ≤ * (original_commit_for_fix)
Create a notification for this product.
Show details on NVD website

{
  "containers": {
    "cna": {
      "affected": [
        {
          "defaultStatus": "unaffected",
          "product": "Linux",
          "programFiles": [
            "fs/smb/client/file.c"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "vendor": "Linux",
          "versions": [
            {
              "lessThan": "c3ac8323f2f5b50e32681c254b8318f7fa2dc3f4",
              "status": "affected",
              "version": "1da177e4c3f41524e886b7f1b8a0c1fc7321cac2",
              "versionType": "git"
            },
            {
              "lessThan": "5a87735675147f848445f05fd1f06168188f91af",
              "status": "affected",
              "version": "1da177e4c3f41524e886b7f1b8a0c1fc7321cac2",
              "versionType": "git"
            },
            {
              "lessThan": "4259dd534245579c966c53c15187cc8e9461d6e9",
              "status": "affected",
              "version": "1da177e4c3f41524e886b7f1b8a0c1fc7321cac2",
              "versionType": "git"
            },
            {
              "lessThan": "6e74926ede96470be84e66a1c576982fe4f8ea79",
              "status": "affected",
              "version": "1da177e4c3f41524e886b7f1b8a0c1fc7321cac2",
              "versionType": "git"
            },
            {
              "lessThan": "961f7ce16223aee2db583a43877d84e6d1f2b857",
              "status": "affected",
              "version": "1da177e4c3f41524e886b7f1b8a0c1fc7321cac2",
              "versionType": "git"
            },
            {
              "lessThan": "9e725386d4262ef23ae51993f04602bc535b5be2",
              "status": "affected",
              "version": "1da177e4c3f41524e886b7f1b8a0c1fc7321cac2",
              "versionType": "git"
            },
            {
              "lessThan": "7a9fb689c1a1dc373887621a3bfa3810df0abde4",
              "status": "affected",
              "version": "1da177e4c3f41524e886b7f1b8a0c1fc7321cac2",
              "versionType": "git"
            },
            {
              "lessThan": "69513dd669e243928f7450893190915a88f84a2b",
              "status": "affected",
              "version": "1da177e4c3f41524e886b7f1b8a0c1fc7321cac2",
              "versionType": "git"
            }
          ]
        },
        {
          "defaultStatus": "affected",
          "product": "Linux",
          "programFiles": [
            "fs/smb/client/file.c"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "vendor": "Linux",
          "versions": [
            {
              "lessThanOrEqual": "4.14.*",
              "status": "unaffected",
              "version": "4.14.324",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "4.19.*",
              "status": "unaffected",
              "version": "4.19.293",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "5.4.*",
              "status": "unaffected",
              "version": "5.4.255",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "5.10.*",
              "status": "unaffected",
              "version": "5.10.192",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "5.15.*",
              "status": "unaffected",
              "version": "5.15.128",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "6.1.*",
              "status": "unaffected",
              "version": "6.1.47",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "6.4.*",
              "status": "unaffected",
              "version": "6.4.12",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "*",
              "status": "unaffected",
              "version": "6.5",
              "versionType": "original_commit_for_fix"
            }
          ]
        }
      ],
      "cpeApplicability": [
        {
          "nodes": [
            {
              "cpeMatch": [
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "4.14.324",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "4.19.293",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "5.4.255",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "5.10.192",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "5.15.128",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.1.47",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.4.12",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.5",
                  "vulnerable": true
                }
              ],
              "negate": false,
              "operator": "OR"
            }
          ]
        }
      ],
      "descriptions": [
        {
          "lang": "en",
          "value": "In the Linux kernel, the following vulnerability has been resolved:\n\ncifs: Release folio lock on fscache read hit.\n\nUnder the current code, when cifs_readpage_worker is called, the call\ncontract is that the callee should unlock the page. This is documented\nin the read_folio section of Documentation/filesystems/vfs.rst as:\n\n\u003e The filesystem should unlock the folio once the read has completed,\n\u003e whether it was successful or not.\n\nWithout this change, when fscache is in use and cache hit occurs during\na read, the page lock is leaked, producing the following stack on\nsubsequent reads (via mmap) to the page:\n\n$ cat /proc/3890/task/12864/stack\n[\u003c0\u003e] folio_wait_bit_common+0x124/0x350\n[\u003c0\u003e] filemap_read_folio+0xad/0xf0\n[\u003c0\u003e] filemap_fault+0x8b1/0xab0\n[\u003c0\u003e] __do_fault+0x39/0x150\n[\u003c0\u003e] do_fault+0x25c/0x3e0\n[\u003c0\u003e] __handle_mm_fault+0x6ca/0xc70\n[\u003c0\u003e] handle_mm_fault+0xe9/0x350\n[\u003c0\u003e] do_user_addr_fault+0x225/0x6c0\n[\u003c0\u003e] exc_page_fault+0x84/0x1b0\n[\u003c0\u003e] asm_exc_page_fault+0x27/0x30\n\nThis requires a reboot to resolve; it is a deadlock.\n\nNote however that the call to cifs_readpage_from_fscache does mark the\npage clean, but does not free the folio lock. This happens in\n__cifs_readpage_from_fscache on success. Releasing the lock at that\npoint however is not appropriate as cifs_readahead also calls\ncifs_readpage_from_fscache and *does* unconditionally release the lock\nafter its return. This change therefore effectively makes\ncifs_readpage_worker work like cifs_readahead."
        }
      ],
      "providerMetadata": {
        "dateUpdated": "2025-10-04T15:44:06.853Z",
        "orgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
        "shortName": "Linux"
      },
      "references": [
        {
          "url": "https://git.kernel.org/stable/c/c3ac8323f2f5b50e32681c254b8318f7fa2dc3f4"
        },
        {
          "url": "https://git.kernel.org/stable/c/5a87735675147f848445f05fd1f06168188f91af"
        },
        {
          "url": "https://git.kernel.org/stable/c/4259dd534245579c966c53c15187cc8e9461d6e9"
        },
        {
          "url": "https://git.kernel.org/stable/c/6e74926ede96470be84e66a1c576982fe4f8ea79"
        },
        {
          "url": "https://git.kernel.org/stable/c/961f7ce16223aee2db583a43877d84e6d1f2b857"
        },
        {
          "url": "https://git.kernel.org/stable/c/9e725386d4262ef23ae51993f04602bc535b5be2"
        },
        {
          "url": "https://git.kernel.org/stable/c/7a9fb689c1a1dc373887621a3bfa3810df0abde4"
        },
        {
          "url": "https://git.kernel.org/stable/c/69513dd669e243928f7450893190915a88f84a2b"
        }
      ],
      "title": "cifs: Release folio lock on fscache read hit.",
      "x_generator": {
        "engine": "bippy-1.2.0"
      }
    }
  },
  "cveMetadata": {
    "assignerOrgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
    "assignerShortName": "Linux",
    "cveId": "CVE-2023-53593",
    "datePublished": "2025-10-04T15:44:06.853Z",
    "dateReserved": "2025-10-04T15:40:38.478Z",
    "dateUpdated": "2025-10-04T15:44:06.853Z",
    "state": "PUBLISHED"
  },
  "dataType": "CVE_RECORD",
  "dataVersion": "5.1",
  "vulnerability-lookup:meta": {
    "nvd": "{\"cve\":{\"id\":\"CVE-2023-53593\",\"sourceIdentifier\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\",\"published\":\"2025-10-04T16:15:55.790\",\"lastModified\":\"2025-10-06T14:56:21.733\",\"vulnStatus\":\"Awaiting Analysis\",\"cveTags\":[],\"descriptions\":[{\"lang\":\"en\",\"value\":\"In the Linux kernel, the following vulnerability has been resolved:\\n\\ncifs: Release folio lock on fscache read hit.\\n\\nUnder the current code, when cifs_readpage_worker is called, the call\\ncontract is that the callee should unlock the page. This is documented\\nin the read_folio section of Documentation/filesystems/vfs.rst as:\\n\\n\u003e The filesystem should unlock the folio once the read has completed,\\n\u003e whether it was successful or not.\\n\\nWithout this change, when fscache is in use and cache hit occurs during\\na read, the page lock is leaked, producing the following stack on\\nsubsequent reads (via mmap) to the page:\\n\\n$ cat /proc/3890/task/12864/stack\\n[\u003c0\u003e] folio_wait_bit_common+0x124/0x350\\n[\u003c0\u003e] filemap_read_folio+0xad/0xf0\\n[\u003c0\u003e] filemap_fault+0x8b1/0xab0\\n[\u003c0\u003e] __do_fault+0x39/0x150\\n[\u003c0\u003e] do_fault+0x25c/0x3e0\\n[\u003c0\u003e] __handle_mm_fault+0x6ca/0xc70\\n[\u003c0\u003e] handle_mm_fault+0xe9/0x350\\n[\u003c0\u003e] do_user_addr_fault+0x225/0x6c0\\n[\u003c0\u003e] exc_page_fault+0x84/0x1b0\\n[\u003c0\u003e] asm_exc_page_fault+0x27/0x30\\n\\nThis requires a reboot to resolve; it is a deadlock.\\n\\nNote however that the call to cifs_readpage_from_fscache does mark the\\npage clean, but does not free the folio lock. This happens in\\n__cifs_readpage_from_fscache on success. Releasing the lock at that\\npoint however is not appropriate as cifs_readahead also calls\\ncifs_readpage_from_fscache and *does* unconditionally release the lock\\nafter its return. This change therefore effectively makes\\ncifs_readpage_worker work like cifs_readahead.\"}],\"metrics\":{},\"references\":[{\"url\":\"https://git.kernel.org/stable/c/4259dd534245579c966c53c15187cc8e9461d6e9\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\"},{\"url\":\"https://git.kernel.org/stable/c/5a87735675147f848445f05fd1f06168188f91af\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\"},{\"url\":\"https://git.kernel.org/stable/c/69513dd669e243928f7450893190915a88f84a2b\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\"},{\"url\":\"https://git.kernel.org/stable/c/6e74926ede96470be84e66a1c576982fe4f8ea79\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\"},{\"url\":\"https://git.kernel.org/stable/c/7a9fb689c1a1dc373887621a3bfa3810df0abde4\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\"},{\"url\":\"https://git.kernel.org/stable/c/961f7ce16223aee2db583a43877d84e6d1f2b857\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\"},{\"url\":\"https://git.kernel.org/stable/c/9e725386d4262ef23ae51993f04602bc535b5be2\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\"},{\"url\":\"https://git.kernel.org/stable/c/c3ac8323f2f5b50e32681c254b8318f7fa2dc3f4\",\"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 observed by the user.
  • Confirmed: The vulnerability has been validated from an analyst's perspective.
  • Published Proof of Concept: A public proof of concept is available for this vulnerability.
  • Exploited: The vulnerability was observed as exploited by the user who reported the sighting.
  • Patched: The vulnerability was observed as successfully patched by the user who reported the sighting.
  • Not exploited: The vulnerability was not observed as exploited by the user who reported the sighting.
  • Not confirmed: The user expressed doubt about the validity of the vulnerability.
  • Not patched: The vulnerability was not observed as successfully patched by the user who reported the sighting.


Loading…

Detection rules are retrieved from Rulezet.

Loading…

Loading…