CVE-2025-38499 (GCVE-0-2025-38499)
Vulnerability from cvelistv5
Published
2025-08-11 16:01
Modified
2026-08-05 12:02
Summary
In the Linux kernel, the following vulnerability has been resolved: clone_private_mnt(): make sure that caller has CAP_SYS_ADMIN in the right userns What we want is to verify there is that clone won't expose something hidden by a mount we wouldn't be able to undo. "Wouldn't be able to undo" may be a result of MNT_LOCKED on a child, but it may also come from lacking admin rights in the userns of the namespace mount belongs to. clone_private_mnt() checks the former, but not the latter. There's a number of rather confusing CAP_SYS_ADMIN checks in various userns during the mount, especially with the new mount API; they serve different purposes and in case of clone_private_mnt() they usually, but not always end up covering the missing check mentioned above.
Impacted products
Vendor Product Version
Linux Linux Version: 427215d85e8d1476da1a86b8d67aceb485eb3631
Version: 427215d85e8d1476da1a86b8d67aceb485eb3631
Version: 427215d85e8d1476da1a86b8d67aceb485eb3631
Version: 427215d85e8d1476da1a86b8d67aceb485eb3631
Version: 427215d85e8d1476da1a86b8d67aceb485eb3631
Version: 427215d85e8d1476da1a86b8d67aceb485eb3631
Version: c6e8810d25295acb40a7b69ed3962ff181919571
Version: e3eee87c846dc47f6d8eb6d85e7271f24122a279
Version: 517b875dfbf58f0c6c9e32dc90f5cf42d71a42ce
Version: 963d85d630dabe75a3cfde44a006fec3304d07b8
Version: 812f39ed5b0b7f34868736de3055c92c7c4cf459
Version: 6a002d48a66076524f67098132538bef17e8445e
Version: 41812f4b84484530057513478c6770590347dc30
Version: 4.4.281   
Version: 4.9.280   
Version: 4.14.244   
Version: 4.19.204   
Version: 5.4.141   
Version: 5.10.59   
Version: 5.13.11   
Create a notification for this product.
Show details on NVD website


{
  "containers": {
    "adp": [
      {
        "providerMetadata": {
          "dateUpdated": "2025-11-03T17:39:08.627Z",
          "orgId": "af854a3a-2127-422b-91ae-364da2661108",
          "shortName": "CVE"
        },
        "references": [
          {
            "url": "https://lists.debian.org/debian-lts-announce/2025/10/msg00008.html"
          }
        ],
        "title": "CVE Program Container"
      },
      {
        "affected": [
          {
            "defaultStatus": "unknown",
            "product": "SIMATIC S7-1500 CPU 1518-4 PN/DP MFP",
            "vendor": "Siemens",
            "versions": [
              {
                "lessThan": "*",
                "status": "affected",
                "version": "V3.1.5",
                "versionType": "custom"
              }
            ]
          },
          {
            "defaultStatus": "unknown",
            "product": "SIMATIC S7-1500 CPU 1518-4 PN/DP MFP",
            "vendor": "Siemens",
            "versions": [
              {
                "lessThan": "*",
                "status": "affected",
                "version": "V3.1.5",
                "versionType": "custom"
              }
            ]
          },
          {
            "defaultStatus": "unknown",
            "product": "SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP",
            "vendor": "Siemens",
            "versions": [
              {
                "lessThan": "*",
                "status": "affected",
                "version": "V3.1.5",
                "versionType": "custom"
              }
            ]
          },
          {
            "defaultStatus": "unknown",
            "product": "SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP",
            "vendor": "Siemens",
            "versions": [
              {
                "lessThan": "*",
                "status": "affected",
                "version": "V3.1.5",
                "versionType": "custom"
              }
            ]
          },
          {
            "defaultStatus": "unknown",
            "product": "SIPLUS S7-1500 CPU 1518-4 PN/DP MFP",
            "vendor": "Siemens",
            "versions": [
              {
                "lessThan": "*",
                "status": "affected",
                "version": "V3.1.5",
                "versionType": "custom"
              }
            ]
          }
        ],
        "providerMetadata": {
          "dateUpdated": "2026-07-14T12:42:14.206Z",
          "orgId": "0b142b55-0307-4c5a-b3c9-f314f3fb7c5e",
          "shortName": "siemens-SADP"
        },
        "references": [
          {
            "url": "https://cert-portal.siemens.com/productcert/html/ssa-082556.html"
          }
        ],
        "x_adpType": "supplier"
      }
    ],
    "cna": {
      "affected": [
        {
          "defaultStatus": "unaffected",
          "product": "Linux",
          "programFiles": [
            "fs/namespace.c"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "vendor": "Linux",
          "versions": [
            {
              "lessThan": "36fecd740de2d542d2091d65d36554ee2bcf9c65",
              "status": "affected",
              "version": "427215d85e8d1476da1a86b8d67aceb485eb3631",
              "versionType": "git"
            },
            {
              "lessThan": "d717325b5ecf2a40daca85c61923e17f32306179",
              "status": "affected",
              "version": "427215d85e8d1476da1a86b8d67aceb485eb3631",
              "versionType": "git"
            },
            {
              "lessThan": "dc6a664089f10eab0fb36b6e4f705022210191d2",
              "status": "affected",
              "version": "427215d85e8d1476da1a86b8d67aceb485eb3631",
              "versionType": "git"
            },
            {
              "lessThan": "e77078e52fbf018ab986efb3c79065ab35025607",
              "status": "affected",
              "version": "427215d85e8d1476da1a86b8d67aceb485eb3631",
              "versionType": "git"
            },
            {
              "lessThan": "38628ae06e2a37770cd794802a3f1310cf9846e3",
              "status": "affected",
              "version": "427215d85e8d1476da1a86b8d67aceb485eb3631",
              "versionType": "git"
            },
            {
              "lessThan": "c28f922c9dcee0e4876a2c095939d77fe7e15116",
              "status": "affected",
              "version": "427215d85e8d1476da1a86b8d67aceb485eb3631",
              "versionType": "git"
            },
            {
              "status": "affected",
              "version": "c6e8810d25295acb40a7b69ed3962ff181919571",
              "versionType": "git"
            },
            {
              "status": "affected",
              "version": "e3eee87c846dc47f6d8eb6d85e7271f24122a279",
              "versionType": "git"
            },
            {
              "status": "affected",
              "version": "517b875dfbf58f0c6c9e32dc90f5cf42d71a42ce",
              "versionType": "git"
            },
            {
              "status": "affected",
              "version": "963d85d630dabe75a3cfde44a006fec3304d07b8",
              "versionType": "git"
            },
            {
              "status": "affected",
              "version": "812f39ed5b0b7f34868736de3055c92c7c4cf459",
              "versionType": "git"
            },
            {
              "status": "affected",
              "version": "6a002d48a66076524f67098132538bef17e8445e",
              "versionType": "git"
            },
            {
              "status": "affected",
              "version": "41812f4b84484530057513478c6770590347dc30",
              "versionType": "git"
            },
            {
              "lessThan": "4.5",
              "status": "affected",
              "version": "4.4.281",
              "versionType": "semver"
            },
            {
              "lessThan": "4.10",
              "status": "affected",
              "version": "4.9.280",
              "versionType": "semver"
            },
            {
              "lessThan": "4.15",
              "status": "affected",
              "version": "4.14.244",
              "versionType": "semver"
            },
            {
              "lessThan": "4.20",
              "status": "affected",
              "version": "4.19.204",
              "versionType": "semver"
            },
            {
              "lessThan": "5.5",
              "status": "affected",
              "version": "5.4.141",
              "versionType": "semver"
            },
            {
              "lessThan": "5.11",
              "status": "affected",
              "version": "5.10.59",
              "versionType": "semver"
            },
            {
              "lessThan": "5.14",
              "status": "affected",
              "version": "5.13.11",
              "versionType": "semver"
            }
          ]
        },
        {
          "defaultStatus": "affected",
          "product": "Linux",
          "programFiles": [
            "fs/namespace.c"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "vendor": "Linux",
          "versions": [
            {
              "status": "affected",
              "version": "5.14"
            },
            {
              "lessThan": "5.14",
              "status": "unaffected",
              "version": "0",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "5.15.*",
              "status": "unaffected",
              "version": "5.15.190",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "6.1.*",
              "status": "unaffected",
              "version": "6.1.147",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "6.6.*",
              "status": "unaffected",
              "version": "6.6.100",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "6.12.*",
              "status": "unaffected",
              "version": "6.12.40",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "6.15.*",
              "status": "unaffected",
              "version": "6.15.3",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "*",
              "status": "unaffected",
              "version": "6.16",
              "versionType": "original_commit_for_fix"
            }
          ]
        }
      ],
      "cpeApplicability": [
        {
          "nodes": [
            {
              "cpeMatch": [
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "5.15.190",
                  "versionStartIncluding": "5.14",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.1.147",
                  "versionStartIncluding": "5.14",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.6.100",
                  "versionStartIncluding": "5.14",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.12.40",
                  "versionStartIncluding": "5.14",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.15.3",
                  "versionStartIncluding": "5.14",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.16",
                  "versionStartIncluding": "5.14",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionStartIncluding": "4.4.281",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionStartIncluding": "4.9.280",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionStartIncluding": "4.14.244",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionStartIncluding": "4.19.204",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionStartIncluding": "5.4.141",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionStartIncluding": "5.10.59",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionStartIncluding": "5.13.11",
                  "vulnerable": true
                }
              ],
              "negate": false,
              "operator": "OR"
            }
          ]
        }
      ],
      "descriptions": [
        {
          "lang": "en",
          "value": "In the Linux kernel, the following vulnerability has been resolved:\n\nclone_private_mnt(): make sure that caller has CAP_SYS_ADMIN in the right userns\n\nWhat we want is to verify there is that clone won\u0027t expose something\nhidden by a mount we wouldn\u0027t be able to undo.  \"Wouldn\u0027t be able to undo\"\nmay be a result of MNT_LOCKED on a child, but it may also come from\nlacking admin rights in the userns of the namespace mount belongs to.\n\nclone_private_mnt() checks the former, but not the latter.\n\nThere\u0027s a number of rather confusing CAP_SYS_ADMIN checks in various\nuserns during the mount, especially with the new mount API; they serve\ndifferent purposes and in case of clone_private_mnt() they usually,\nbut not always end up covering the missing check mentioned above."
        }
      ],
      "metrics": [
        {
          "cvssV3_1": {
            "baseScore": 7.8,
            "baseSeverity": "HIGH",
            "vectorString": "CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H",
            "version": "3.1"
          },
          "scenarios": [
            {
              "lang": "en",
              "value": "AV:L - The vulnerable code is reached only through local filesystem syscalls (fsopen/fsconfig/fsmount or mount(2)) issued by a process on the machine. There is no remote or adjacent-network exposure of clone_private_mount().\nAC:L - The attacker deterministically controls every step \u2014 creating the user namespace, opening the fs_context, passing the fd, and issuing FSCONFIG_CMD_CREATE from the confined mount namespace \u2014 with no race, no memory-layout dependency, and no reliance on any condition outside their control.\nPR:L - An ordinary unprivileged local user suffices: unshare(CLONE_NEWUSER|CLONE_NEWNS) yields CAP_SYS_ADMIN in a child userns for the fsopen(), and setns() back into that userns as its owner lets the same uid drive fsconfig() from the restricted mount namespace where it holds no privileges at all.\nUI:N - The entire sequence is performed by the attacker\u0027s own processes; no victim action, mount operation, or file access by another user is required.\nS:U - The bypassed mount visibility and the exposed files are all managed by the same kernel security authority; no VM, hypervisor, or IOMMU boundary is crossed.\nC:H - The private clone omits all child mounts, so entire directory trees deliberately concealed by mask/over-mounts the attacker cannot unmount (container masked paths, systemd InaccessiblePaths=/ProtectHome=, sandbox hiding mounts) become readable through the overlay lower layer.\nI:H - Using the same primitive for upperdir on a read-write parent mount discards read-only child bind mounts, giving direct write, create, and delete access to trees that mount-based hardening (ReadOnlyPaths=, ProtectSystem=strict, container ro binds) was enforcing as immutable.\nA:H - That regained write access covers the exact paths the confinement was protecting, so an attacker can overwrite or delete critical configuration and system files inside a hardened service or container and render it \u2014 or the host \u2014 inoperable."
            }
          ]
        }
      ],
      "providerMetadata": {
        "dateUpdated": "2026-08-05T12:02:26.265Z",
        "orgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
        "shortName": "Linux"
      },
      "references": [
        {
          "url": "https://git.kernel.org/stable/c/36fecd740de2d542d2091d65d36554ee2bcf9c65"
        },
        {
          "url": "https://git.kernel.org/stable/c/d717325b5ecf2a40daca85c61923e17f32306179"
        },
        {
          "url": "https://git.kernel.org/stable/c/dc6a664089f10eab0fb36b6e4f705022210191d2"
        },
        {
          "url": "https://git.kernel.org/stable/c/e77078e52fbf018ab986efb3c79065ab35025607"
        },
        {
          "url": "https://git.kernel.org/stable/c/38628ae06e2a37770cd794802a3f1310cf9846e3"
        },
        {
          "url": "https://git.kernel.org/stable/c/c28f922c9dcee0e4876a2c095939d77fe7e15116"
        }
      ],
      "title": "clone_private_mnt(): make sure that caller has CAP_SYS_ADMIN in the right userns",
      "x_generator": {
        "engine": "bippy-1.2.0"
      }
    }
  },
  "cveMetadata": {
    "assignerOrgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
    "assignerShortName": "Linux",
    "cveId": "CVE-2025-38499",
    "datePublished": "2025-08-11T16:01:08.257Z",
    "dateReserved": "2025-04-16T04:51:24.022Z",
    "dateUpdated": "2026-08-05T12:02:26.265Z",
    "state": "PUBLISHED"
  },
  "dataType": "CVE_RECORD",
  "dataVersion": "5.2"
}


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.
  • Published Proof of Concept: A public proof of concept is available for this vulnerability.
  • 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.


Loading…

Loading…