CVE-2026-53390 (GCVE-0-2026-53390)

Vulnerability from cvelistv5 – Published: 2026-07-19 12:01 – Updated: 2026-08-17 04:50
VLAI
Title
ksmbd: fix out-of-bounds read in smb_check_perm_dacl()
Summary
In the Linux kernel, the following vulnerability has been resolved: ksmbd: fix out-of-bounds read in smb_check_perm_dacl() The permission-check ACE walk in smb_check_perm_dacl() validates the ACE header size and caps sid.num_subauth at SID_MAX_SUB_AUTHORITIES, but it never checks that ace->size is actually large enough to contain num_subauth sub-authorities before compare_sids() dereferences them. CIFS_SID_BASE_SIZE covers the SID header up to but excluding the sub_auth[] array, and offsetof(struct smb_ace, sid) is the ACE header, so the existing guards only guarantee the 8-byte SID base, i.e. zero sub-authorities. compare_sids() then reads ace->sid.sub_auth[i] for i < min(local_sid->num_subauth, ace->sid.num_subauth). The local comparison SIDs (sid_everyone, sid_unix_NFS_mode, and the id_to_sid() result) always have at least one sub-authority, and an attacker controls the ACE revision and authority bytes (which lie within the in-bounds SID base), so they can match one of those SIDs and force the sub_auth read. A crafted ACE with size == 16 and num_subauth >= 1 placed at the tail of the security descriptor therefore causes a heap out-of-bounds read of up to SID_MAX_SUB_AUTHORITIES * sizeof(__le32) bytes past the pntsd allocation. The security descriptor is loaded by ksmbd_vfs_get_sd_xattr() into a buffer sized exactly to the on-disk data (kzalloc(sd_size) in ndr_decode_v4_ntacl()), so the read lands past the allocation. The malformed descriptor can be stored verbatim via SMB2_SET_INFO (the DACL is not normalised before being written to the security.NTACL xattr) and the read fires on a subsequent SMB2_CREATE access check, making this reachable by an authenticated client on a share that uses ACL xattrs. Add the missing num_subauth-versus-ace_size check, mirroring the identical guards already present in the sibling parsers parse_dacl() and smb_inherit_dacl().
Impacted products
Vendor Product Version CPE status
Linux Linux Affected: 282cbbb476b9f35793452bc461934af4c7eca169 , < c7488c85fd822959e9b5c22fbd9e7c8a21caf5e0 (git)
Affected: f20adc4ef7428bc485ee83fd1a592252fb87718b , < 988c93d3bba066d8669143e6ec30bb2be9608d53 (git)
Affected: 325d4ac11f526cb8964cff14548ccf02d8c756d8 , < 36599894fa8536fefdf1e296c0af71b8b7226859 (git)
Affected: 95e5aa3c3261da8c95b27d7aecf8ee39b9f86a4c , < d5c81a095c86fe507c032d08f3a8cfc518444927 (git)
Affected: 90089584b2e25c4510b7b987387b4405f0673ece , < 7627ff8c4f9919f14de562b0160ab4ec9d80b1f7 (git)
Affected: d07b26f39246a82399661936dd0c853983cfade7 , < e36e35660adb9b8ef1435ac359151dda5f094c55 (git)
Affected: d07b26f39246a82399661936dd0c853983cfade7 , < 1ef06004ed4bd6d3ed8c840d9d1a376b66d4935b (git)
Affected: 151b1799861fde38087c08f613abc2843ef597b0 (git)
Affected: 5.15.210 , < 5.15.212 (semver)
Affected: 6.1.176 , < 6.1.177 (semver)
Affected: 6.6.140 , < 6.6.144 (semver)
Affected: 6.12.84 , < 6.12.95 (semver)
Affected: 6.18.25 , < 6.18.38 (semver)
Affected: 7.0.2 , < 7.1 (semver)
guessed Create a notification for this product.
Linux Linux Affected: 7.1
Unaffected: 0 , < 7.1 (semver)
Unaffected: 5.15.212 , ≤ 5.15.* (semver)
Unaffected: 6.1.177 , ≤ 6.1.* (semver)
Unaffected: 6.6.144 , ≤ 6.6.* (semver)
Unaffected: 6.12.95 , ≤ 6.12.* (semver)
Unaffected: 6.18.38 , ≤ 6.18.* (semver)
Unaffected: 7.1.3 , ≤ 7.1.* (semver)
Unaffected: 7.2 , ≤ * (original_commit_for_fix)
guessed Create a notification for this product.
Show details on NVD website

{
  "containers": {
    "cna": {
      "affected": [
        {
          "defaultStatus": "unaffected",
          "product": "Linux",
          "programFiles": [
            "fs/smb/server/smbacl.c"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "vendor": "Linux",
          "versions": [
            {
              "lessThan": "c7488c85fd822959e9b5c22fbd9e7c8a21caf5e0",
              "status": "affected",
              "version": "282cbbb476b9f35793452bc461934af4c7eca169",
              "versionType": "git"
            },
            {
              "lessThan": "988c93d3bba066d8669143e6ec30bb2be9608d53",
              "status": "affected",
              "version": "f20adc4ef7428bc485ee83fd1a592252fb87718b",
              "versionType": "git"
            },
            {
              "lessThan": "36599894fa8536fefdf1e296c0af71b8b7226859",
              "status": "affected",
              "version": "325d4ac11f526cb8964cff14548ccf02d8c756d8",
              "versionType": "git"
            },
            {
              "lessThan": "d5c81a095c86fe507c032d08f3a8cfc518444927",
              "status": "affected",
              "version": "95e5aa3c3261da8c95b27d7aecf8ee39b9f86a4c",
              "versionType": "git"
            },
            {
              "lessThan": "7627ff8c4f9919f14de562b0160ab4ec9d80b1f7",
              "status": "affected",
              "version": "90089584b2e25c4510b7b987387b4405f0673ece",
              "versionType": "git"
            },
            {
              "lessThan": "e36e35660adb9b8ef1435ac359151dda5f094c55",
              "status": "affected",
              "version": "d07b26f39246a82399661936dd0c853983cfade7",
              "versionType": "git"
            },
            {
              "lessThan": "1ef06004ed4bd6d3ed8c840d9d1a376b66d4935b",
              "status": "affected",
              "version": "d07b26f39246a82399661936dd0c853983cfade7",
              "versionType": "git"
            },
            {
              "status": "affected",
              "version": "151b1799861fde38087c08f613abc2843ef597b0",
              "versionType": "git"
            },
            {
              "lessThan": "5.15.212",
              "status": "affected",
              "version": "5.15.210",
              "versionType": "semver"
            },
            {
              "lessThan": "6.1.177",
              "status": "affected",
              "version": "6.1.176",
              "versionType": "semver"
            },
            {
              "lessThan": "6.6.144",
              "status": "affected",
              "version": "6.6.140",
              "versionType": "semver"
            },
            {
              "lessThan": "6.12.95",
              "status": "affected",
              "version": "6.12.84",
              "versionType": "semver"
            },
            {
              "lessThan": "6.18.38",
              "status": "affected",
              "version": "6.18.25",
              "versionType": "semver"
            },
            {
              "lessThan": "7.1",
              "status": "affected",
              "version": "7.0.2",
              "versionType": "semver"
            }
          ]
        },
        {
          "defaultStatus": "affected",
          "product": "Linux",
          "programFiles": [
            "fs/smb/server/smbacl.c"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "vendor": "Linux",
          "versions": [
            {
              "status": "affected",
              "version": "7.1"
            },
            {
              "lessThan": "7.1",
              "status": "unaffected",
              "version": "0",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "5.15.*",
              "status": "unaffected",
              "version": "5.15.212",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "6.1.*",
              "status": "unaffected",
              "version": "6.1.177",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "6.6.*",
              "status": "unaffected",
              "version": "6.6.144",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "6.12.*",
              "status": "unaffected",
              "version": "6.12.95",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "6.18.*",
              "status": "unaffected",
              "version": "6.18.38",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "7.1.*",
              "status": "unaffected",
              "version": "7.1.3",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "*",
              "status": "unaffected",
              "version": "7.2",
              "versionType": "original_commit_for_fix"
            }
          ]
        }
      ],
      "cpeApplicability": [
        {
          "nodes": [
            {
              "cpeMatch": [
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "5.15.212",
                  "versionStartIncluding": "5.15.210",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.1.177",
                  "versionStartIncluding": "6.1.176",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.6.144",
                  "versionStartIncluding": "6.6.140",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.12.95",
                  "versionStartIncluding": "6.12.84",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.18.38",
                  "versionStartIncluding": "6.18.25",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "7.1.3",
                  "versionStartIncluding": "7.1",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "7.2",
                  "versionStartIncluding": "7.1",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionStartIncluding": "7.0.2",
                  "vulnerable": true
                }
              ],
              "negate": false,
              "operator": "OR"
            }
          ]
        }
      ],
      "descriptions": [
        {
          "lang": "en",
          "value": "In the Linux kernel, the following vulnerability has been resolved:\n\nksmbd: fix out-of-bounds read in smb_check_perm_dacl()\n\nThe permission-check ACE walk in smb_check_perm_dacl() validates the ACE\nheader size and caps sid.num_subauth at SID_MAX_SUB_AUTHORITIES, but it\nnever checks that ace-\u003esize is actually large enough to contain\nnum_subauth sub-authorities before compare_sids() dereferences them.\n\nCIFS_SID_BASE_SIZE covers the SID header up to but excluding the\nsub_auth[] array, and offsetof(struct smb_ace, sid) is the ACE header,\nso the existing guards only guarantee the 8-byte SID base, i.e. zero\nsub-authorities. compare_sids() then reads ace-\u003esid.sub_auth[i] for\ni \u003c min(local_sid-\u003enum_subauth, ace-\u003esid.num_subauth). The local\ncomparison SIDs (sid_everyone, sid_unix_NFS_mode, and the id_to_sid()\nresult) always have at least one sub-authority, and an attacker controls\nthe ACE revision and authority bytes (which lie within the in-bounds SID\nbase), so they can match one of those SIDs and force the sub_auth read.\n\nA crafted ACE with size == 16 and num_subauth \u003e= 1 placed at the tail of\nthe security descriptor therefore causes a heap out-of-bounds read of up\nto SID_MAX_SUB_AUTHORITIES * sizeof(__le32) bytes past the pntsd\nallocation. The security descriptor is loaded by ksmbd_vfs_get_sd_xattr()\ninto a buffer sized exactly to the on-disk data (kzalloc(sd_size) in\nndr_decode_v4_ntacl()), so the read lands past the allocation. The\nmalformed descriptor can be stored verbatim via SMB2_SET_INFO (the DACL\nis not normalised before being written to the security.NTACL xattr) and\nthe read fires on a subsequent SMB2_CREATE access check, making this\nreachable by an authenticated client on a share that uses ACL xattrs.\n\nAdd the missing num_subauth-versus-ace_size check, mirroring the\nidentical guards already present in the sibling parsers parse_dacl() and\nsmb_inherit_dacl()."
        }
      ],
      "metrics": [
        {
          "cvssV3_1": {
            "baseScore": 8.1,
            "baseSeverity": "HIGH",
            "vectorString": "CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:H",
            "version": "3.1"
          },
          "scenarios": [
            {
              "lang": "en",
              "value": "AV:N - The bug is reachable through ksmbd\u0027s in-kernel SMB2 server on TCP/445 via SMB2_SET_INFO (to store a crafted security descriptor) and SMB2_CREATE (to trigger the DACL walk), with packets handled from ksmbd_conn_handler_loop() through smb2_set_info()/smb2_open() into smb_check_perm_dacl().\nAC:L - An attacker fully controls the malformed ACE fields (size, num_subauth, revision, authority bytes) and can reliably place the ACE at the tail of a security descriptor, store it verbatim, then trigger the read on the next CREATE without depending on race timing or uncontrollable memory layout.\nPR:L - Exploitation requires a completed SMB2 session and share access: SMB2_SET_INFO needs FILE_WRITE_DAC/FILE_WRITE_OWNER on an open file, and the poisoned descriptor is only persisted on shares with ACL xattr support, which is authenticated low-privilege client access rather than pre-auth or host root.\nUI:N - No end-user action is required beyond the attacker sending crafted SMB2 protocol messages over the network; no victim must open a file, mount a share, or perform any interactive step.\nS:U - The vulnerability is confined to kernel heap memory reads during ksmbd DACL permission evaluation and does not cross a security boundary such as guest-to-host VM escape or sandbox escape.\nC:H - compare_sids() performs a heap out-of-bounds read of up to SID_MAX_SUB_AUTHORITIES (15) sub-authority dwords (60 bytes) past the kzalloc()-sized security descriptor buffer, exposing adjacent kernel heap contents even though the data is not returned in the SMB response.\nI:N - The flaw is a read-only out-of-bounds access in compare_sids() with no memory write, type confusion, or demonstrated control-flow hijack primitive; integrity is not directly compromised.\nA:H - Reading past the end of the kmalloc allocation can fault the kernel (oops/panic), and a malicious descriptor planted on a shared file can deny availability to any other authenticated client whose SMB2_CREATE triggers smb_check_perm_dacl()."
            }
          ]
        }
      ],
      "providerMetadata": {
        "dateUpdated": "2026-08-17T04:50:41.549Z",
        "orgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
        "shortName": "Linux"
      },
      "references": [
        {
          "url": "https://git.kernel.org/stable/c/c7488c85fd822959e9b5c22fbd9e7c8a21caf5e0"
        },
        {
          "url": "https://git.kernel.org/stable/c/988c93d3bba066d8669143e6ec30bb2be9608d53"
        },
        {
          "url": "https://git.kernel.org/stable/c/36599894fa8536fefdf1e296c0af71b8b7226859"
        },
        {
          "url": "https://git.kernel.org/stable/c/d5c81a095c86fe507c032d08f3a8cfc518444927"
        },
        {
          "url": "https://git.kernel.org/stable/c/7627ff8c4f9919f14de562b0160ab4ec9d80b1f7"
        },
        {
          "url": "https://git.kernel.org/stable/c/e36e35660adb9b8ef1435ac359151dda5f094c55"
        },
        {
          "url": "https://git.kernel.org/stable/c/1ef06004ed4bd6d3ed8c840d9d1a376b66d4935b"
        }
      ],
      "title": "ksmbd: fix out-of-bounds read in smb_check_perm_dacl()",
      "x_generator": {
        "engine": "bippy-1.2.0"
      }
    }
  },
  "cveMetadata": {
    "assignerOrgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
    "assignerShortName": "Linux",
    "cveId": "CVE-2026-53390",
    "datePublished": "2026-07-19T12:01:54.951Z",
    "dateReserved": "2026-06-09T07:44:35.402Z",
    "dateUpdated": "2026-08-17T04:50:41.549Z",
    "state": "PUBLISHED"
  },
  "dataType": "CVE_RECORD",
  "dataVersion": "5.2",
  "vulnerability-lookup:meta": {
    "epss": {
      "cve": "CVE-2026-53390",
      "date": "2026-09-20",
      "epss": "0.0047",
      "percentile": "0.39818"
    },
    "microsoft_vex": {
      "current_release_date": "2026-08-12T23:55:17.000Z",
      "cve": "CVE-2026-53390",
      "id": "msrc_CVE-2026-53390",
      "initial_release_date": "2026-07-20T01:07:26.000Z",
      "product_status:known_not_affected": "1",
      "source": "Microsoft CSAF VEX",
      "status": "final",
      "title": "ksmbd: fix out-of-bounds read in smb_check_perm_dacl()",
      "url": "https://msrc.microsoft.com/csaf/vex/2026/msrc_cve-2026-53390.json",
      "version": "3"
    },
    "nvd": {
      "cve": {
        "affected": [
          {
            "affectedData": [
              {
                "defaultStatus": "unaffected",
                "product": "Linux",
                "programFiles": [
                  "fs/smb/server/smbacl.c"
                ],
                "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
                "vendor": "Linux",
                "versions": [
                  {
                    "lessThan": "c7488c85fd822959e9b5c22fbd9e7c8a21caf5e0",
                    "status": "affected",
                    "version": "282cbbb476b9f35793452bc461934af4c7eca169",
                    "versionType": "git"
                  },
                  {
                    "lessThan": "988c93d3bba066d8669143e6ec30bb2be9608d53",
                    "status": "affected",
                    "version": "f20adc4ef7428bc485ee83fd1a592252fb87718b",
                    "versionType": "git"
                  },
                  {
                    "lessThan": "36599894fa8536fefdf1e296c0af71b8b7226859",
                    "status": "affected",
                    "version": "325d4ac11f526cb8964cff14548ccf02d8c756d8",
                    "versionType": "git"
                  },
                  {
                    "lessThan": "d5c81a095c86fe507c032d08f3a8cfc518444927",
                    "status": "affected",
                    "version": "95e5aa3c3261da8c95b27d7aecf8ee39b9f86a4c",
                    "versionType": "git"
                  },
                  {
                    "lessThan": "7627ff8c4f9919f14de562b0160ab4ec9d80b1f7",
                    "status": "affected",
                    "version": "90089584b2e25c4510b7b987387b4405f0673ece",
                    "versionType": "git"
                  },
                  {
                    "lessThan": "e36e35660adb9b8ef1435ac359151dda5f094c55",
                    "status": "affected",
                    "version": "d07b26f39246a82399661936dd0c853983cfade7",
                    "versionType": "git"
                  },
                  {
                    "lessThan": "1ef06004ed4bd6d3ed8c840d9d1a376b66d4935b",
                    "status": "affected",
                    "version": "d07b26f39246a82399661936dd0c853983cfade7",
                    "versionType": "git"
                  },
                  {
                    "status": "affected",
                    "version": "151b1799861fde38087c08f613abc2843ef597b0",
                    "versionType": "git"
                  },
                  {
                    "lessThan": "5.15.212",
                    "status": "affected",
                    "version": "5.15.210",
                    "versionType": "semver"
                  },
                  {
                    "lessThan": "6.1.177",
                    "status": "affected",
                    "version": "6.1.176",
                    "versionType": "semver"
                  },
                  {
                    "lessThan": "6.6.144",
                    "status": "affected",
                    "version": "6.6.140",
                    "versionType": "semver"
                  },
                  {
                    "lessThan": "6.12.95",
                    "status": "affected",
                    "version": "6.12.84",
                    "versionType": "semver"
                  },
                  {
                    "lessThan": "6.18.38",
                    "status": "affected",
                    "version": "6.18.25",
                    "versionType": "semver"
                  },
                  {
                    "lessThan": "7.1",
                    "status": "affected",
                    "version": "7.0.2",
                    "versionType": "semver"
                  }
                ]
              },
              {
                "defaultStatus": "affected",
                "product": "Linux",
                "programFiles": [
                  "fs/smb/server/smbacl.c"
                ],
                "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
                "vendor": "Linux",
                "versions": [
                  {
                    "status": "affected",
                    "version": "7.1"
                  },
                  {
                    "lessThan": "7.1",
                    "status": "unaffected",
                    "version": "0",
                    "versionType": "semver"
                  },
                  {
                    "lessThanOrEqual": "5.15.*",
                    "status": "unaffected",
                    "version": "5.15.212",
                    "versionType": "semver"
                  },
                  {
                    "lessThanOrEqual": "6.1.*",
                    "status": "unaffected",
                    "version": "6.1.177",
                    "versionType": "semver"
                  },
                  {
                    "lessThanOrEqual": "6.6.*",
                    "status": "unaffected",
                    "version": "6.6.144",
                    "versionType": "semver"
                  },
                  {
                    "lessThanOrEqual": "6.12.*",
                    "status": "unaffected",
                    "version": "6.12.95",
                    "versionType": "semver"
                  },
                  {
                    "lessThanOrEqual": "6.18.*",
                    "status": "unaffected",
                    "version": "6.18.38",
                    "versionType": "semver"
                  },
                  {
                    "lessThanOrEqual": "7.1.*",
                    "status": "unaffected",
                    "version": "7.1.3",
                    "versionType": "semver"
                  },
                  {
                    "lessThanOrEqual": "*",
                    "status": "unaffected",
                    "version": "7.2",
                    "versionType": "original_commit_for_fix"
                  }
                ]
              }
            ],
            "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
          }
        ],
        "configurations": [
          {
            "nodes": [
              {
                "cpeMatch": [
                  {
                    "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                    "matchCriteriaId": "42434AE1-4361-420E-AC94-62114ADF9A54",
                    "versionEndExcluding": "5.15.212",
                    "versionStartIncluding": "5.15.210",
                    "vulnerable": true
                  },
                  {
                    "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                    "matchCriteriaId": "86F30E4E-AC0B-4F7E-BD0D-8B4DFF40C8E5",
                    "versionEndExcluding": "6.6.144",
                    "versionStartIncluding": "6.6.140",
                    "vulnerable": true
                  },
                  {
                    "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                    "matchCriteriaId": "18BFBAB5-F8BE-445D-A4DC-A598E4DD65C3",
                    "versionEndExcluding": "6.12.95",
                    "versionStartIncluding": "6.12.84",
                    "vulnerable": true
                  },
                  {
                    "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                    "matchCriteriaId": "54268F52-8016-498C-94D4-7A78B8F35FEC",
                    "versionEndExcluding": "6.18.38",
                    "versionStartIncluding": "6.18.25",
                    "vulnerable": true
                  },
                  {
                    "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                    "matchCriteriaId": "BF755E4C-E134-4585-AFB9-61E683441DD9",
                    "versionEndExcluding": "7.1.3",
                    "versionStartIncluding": "7.0.2",
                    "vulnerable": true
                  },
                  {
                    "criteria": "cpe:2.3:o:linux:linux_kernel:6.1.176:*:*:*:*:*:*:*",
                    "matchCriteriaId": "31ED607F-61AA-41F2-B79C-959EDFA61657",
                    "vulnerable": true
                  }
                ],
                "negate": false,
                "operator": "OR"
              }
            ]
          }
        ],
        "cveTags": [],
        "descriptions": [
          {
            "lang": "en",
            "value": "In the Linux kernel, the following vulnerability has been resolved:\n\nksmbd: fix out-of-bounds read in smb_check_perm_dacl()\n\nThe permission-check ACE walk in smb_check_perm_dacl() validates the ACE\nheader size and caps sid.num_subauth at SID_MAX_SUB_AUTHORITIES, but it\nnever checks that ace-\u003esize is actually large enough to contain\nnum_subauth sub-authorities before compare_sids() dereferences them.\n\nCIFS_SID_BASE_SIZE covers the SID header up to but excluding the\nsub_auth[] array, and offsetof(struct smb_ace, sid) is the ACE header,\nso the existing guards only guarantee the 8-byte SID base, i.e. zero\nsub-authorities. compare_sids() then reads ace-\u003esid.sub_auth[i] for\ni \u003c min(local_sid-\u003enum_subauth, ace-\u003esid.num_subauth). The local\ncomparison SIDs (sid_everyone, sid_unix_NFS_mode, and the id_to_sid()\nresult) always have at least one sub-authority, and an attacker controls\nthe ACE revision and authority bytes (which lie within the in-bounds SID\nbase), so they can match one of those SIDs and force the sub_auth read.\n\nA crafted ACE with size == 16 and num_subauth \u003e= 1 placed at the tail of\nthe security descriptor therefore causes a heap out-of-bounds read of up\nto SID_MAX_SUB_AUTHORITIES * sizeof(__le32) bytes past the pntsd\nallocation. The security descriptor is loaded by ksmbd_vfs_get_sd_xattr()\ninto a buffer sized exactly to the on-disk data (kzalloc(sd_size) in\nndr_decode_v4_ntacl()), so the read lands past the allocation. The\nmalformed descriptor can be stored verbatim via SMB2_SET_INFO (the DACL\nis not normalised before being written to the security.NTACL xattr) and\nthe read fires on a subsequent SMB2_CREATE access check, making this\nreachable by an authenticated client on a share that uses ACL xattrs.\n\nAdd the missing num_subauth-versus-ace_size check, mirroring the\nidentical guards already present in the sibling parsers parse_dacl() and\nsmb_inherit_dacl()."
          }
        ],
        "id": "CVE-2026-53390",
        "lastModified": "2026-08-17T05:17:13.293",
        "metrics": {
          "cvssMetricV31": [
            {
              "cvssData": {
                "attackComplexity": "LOW",
                "attackVector": "NETWORK",
                "availabilityImpact": "HIGH",
                "baseScore": 8.1,
                "baseSeverity": "HIGH",
                "confidentialityImpact": "HIGH",
                "integrityImpact": "NONE",
                "privilegesRequired": "LOW",
                "scope": "UNCHANGED",
                "userInteraction": "NONE",
                "vectorString": "CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:H",
                "version": "3.1"
              },
              "exploitabilityScore": 2.8,
              "impactScore": 5.2,
              "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
              "type": "Secondary"
            }
          ]
        },
        "published": "2026-07-19T12:16:50.000",
        "references": [
          {
            "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
            "tags": [
              "Patch"
            ],
            "url": "https://git.kernel.org/stable/c/1ef06004ed4bd6d3ed8c840d9d1a376b66d4935b"
          },
          {
            "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
            "tags": [
              "Patch"
            ],
            "url": "https://git.kernel.org/stable/c/36599894fa8536fefdf1e296c0af71b8b7226859"
          },
          {
            "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
            "tags": [
              "Patch"
            ],
            "url": "https://git.kernel.org/stable/c/7627ff8c4f9919f14de562b0160ab4ec9d80b1f7"
          },
          {
            "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
            "tags": [
              "Patch"
            ],
            "url": "https://git.kernel.org/stable/c/988c93d3bba066d8669143e6ec30bb2be9608d53"
          },
          {
            "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
            "tags": [
              "Patch"
            ],
            "url": "https://git.kernel.org/stable/c/c7488c85fd822959e9b5c22fbd9e7c8a21caf5e0"
          },
          {
            "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
            "tags": [
              "Patch"
            ],
            "url": "https://git.kernel.org/stable/c/d5c81a095c86fe507c032d08f3a8cfc518444927"
          },
          {
            "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
            "tags": [
              "Patch"
            ],
            "url": "https://git.kernel.org/stable/c/e36e35660adb9b8ef1435ac359151dda5f094c55"
          }
        ],
        "sourceIdentifier": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
        "vulnStatus": "Analyzed",
        "weaknesses": [
          {
            "description": [
              {
                "lang": "en",
                "value": "CWE-125"
              }
            ],
            "source": "nvd@nist.gov",
            "type": "Primary"
          }
        ]
      }
    },
    "redhat_vex": {
      "aggregate_severity": "None",
      "current_release_date": "2026-07-21T08:02:56+00:00",
      "cve": "CVE-2026-53390",
      "id": "CVE-2026-53390",
      "initial_release_date": "2026-07-19T00:00:00+00:00",
      "product_status:known_not_affected": "275",
      "source": "Red Hat CSAF VEX",
      "status": "final",
      "title": "kernel: ksmbd: fix out-of-bounds read in smb_check_perm_dacl()",
      "url": "https://security.access.redhat.com/data/csaf/v2/vex/2026/cve-2026-53390.json",
      "version": "3"
    },
    "suse_vex": {
      "aggregate_severity": "important",
      "current_release_date": "2026-07-21T13:06:53Z",
      "cve": "CVE-2026-53390",
      "id": "CVE-2026-53390",
      "initial_release_date": "2026-07-19T17:36:06Z",
      "product_status:known_not_affected": "284",
      "source": "SUSE CSAF VEX",
      "status": "interim",
      "title": "SUSE CVE CVE-2026-53390",
      "url": "https://ftp.suse.com/pub/projects/security/csaf-vex/cve-2026-53390.json",
      "version": "3"
    }
  }
}



Log in or create an account to share your comment.




Tags
Taxonomy of the tags.


Loading…

Loading…

Loading…

Forecast uses a logistic model when the trend is rising, or an exponential decay model when the trend is falling. Fitted via linearized least squares.

Sightings

Author Source Type Date Other

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…

Related by attack behaviour

Vulnerabilities whose description is nearest to this one in the vector space of the CIRCL/vulnerability-attack-technique-biencoder model. This is a similarity search over the bi-encoder space (plain cosine), not a classification, and it has no measured accuracy.


Loading…