{"id":"GO-2026-5218","revision":null,"records":[{"revision":"56ddac6b75cc40c39bd3e49d975b1fd7","observedAt":"2026-10-23T15:48:27.903+00:00","statement":{"source":"cve-program","id":"CVE-2026-44543","aliases":[],"title":"Local Path Provisioner: HelperPod Template Injection","description":"Local Path Provisioner provides a way for the Kubernetes users to utilize the local storage in each node. Prior to 0.0.36, a malicious user with permission to edit the local-path-config ConfigMap in the local-path-storage namespace can manipulate the helperPod.yaml template used by rancher/local-path-provisioner. The helperPod.yaml template is loaded by the provisioner and used to create HelperPods during PVC provisioning and cleanup operations. However, the template is not sufficiently validated before use. Security-sensitive fields such as securityContext.privileged, hostPath volumes, and Linux capabilities can be injected into the template. When a PVC operation triggers HelperPod creation, the provisioner creates the HelperPod using the attacker-controlled template. This can result in a privileged pod running on the target node with the host root filesystem mounted. This may allow the attacker to access sensitive host files, read ServiceAccount tokens from other pods on the same node, access other tenants' local-path volume data, or modify files on the host node. This vulnerability is fixed in 0.0.36.","state":0,"publishedAt":"2026-05-28T16:41:35.596+00:00","modifiedAt":"2026-05-30T01:59:56.553+00:00","affected":[{"ecosystem":"Vendor product","name":"local-path-provisioner","ranges":[],"versions":[],"rawVersionEvidence":"{\n                    \"vendor\": \"rancher\",\n                    \"product\": \"local-path-provisioner\",\n                    \"versions\": [\n                        {\n                            \"version\": \"< 0.0.36\",\n                            \"status\": \"affected\"\n                        }\n                    ]\n                }"}],"metrics":[{"system":"CVSS 3.1","vector":"CVSS:3.1/AV:N/AC:L/PR:H/UI:N/S:C/C:H/I:H/A:N","score":8.7,"severity":"HIGH"}],"references":["https://github.com/rancher/local-path-provisioner/security/advisories/GHSA-7fxv-8wr2-mfc4"],"sourceUrl":"https://www.cve.org/CVERecord?id=CVE-2026-44543","license":"CVE Program Terms of Use","key":"cve-program:CVE-2026-44543","identifiers":["CVE-2026-44543"]},"retained":false,"historicalAffected":[]},{"revision":"cae52ebe30c8489a8480d03b2e5e40d6","observedAt":"2026-10-27T11:12:17.434+00:00","statement":{"source":"nvd","id":"CVE-2026-44543","aliases":[],"title":"Local Path Provisioner provides a way for the Kubernetes users to utilize the local storage in each node. Prior to 0.0.36, a malicious user with permission to edit the local-path-config ConfigMap in the local-path-storage namespace can mani…","description":"Local Path Provisioner provides a way for the Kubernetes users to utilize the local storage in each node. Prior to 0.0.36, a malicious user with permission to edit the local-path-config ConfigMap in the local-path-storage namespace can manipulate the helperPod.yaml template used by rancher/local-path-provisioner. The helperPod.yaml template is loaded by the provisioner and used to create HelperPods during PVC provisioning and cleanup operations. However, the template is not sufficiently validated before use. Security-sensitive fields such as securityContext.privileged, hostPath volumes, and Linux capabilities can be injected into the template. When a PVC operation triggers HelperPod creation, the provisioner creates the HelperPod using the attacker-controlled template. This can result in a privileged pod running on the target node with the host root filesystem mounted. This may allow the attacker to access sensitive host files, read ServiceAccount tokens from other pods on the same node, access other tenants' local-path volume data, or modify files on the host node. This vulnerability is fixed in 0.0.36.","state":0,"publishedAt":"2026-05-28T17:16:30.967+00:00","modifiedAt":"2026-10-26T13:10:00.14+00:00","affected":[],"metrics":[{"system":"CVSS 3.1 · security-advisories@github.com · Secondary","vector":"CVSS:3.1/AV:N/AC:L/PR:H/UI:N/S:C/C:H/I:H/A:N","score":8.7,"severity":"HIGH"}],"references":["https://github.com/rancher/local-path-provisioner/security/advisories/GHSA-7fxv-8wr2-mfc4"],"sourceUrl":"https://nvd.nist.gov/vuln/detail/CVE-2026-44543","license":"NIST NVD usage terms; underlying source attribution retained","enrichment":{"sourceStatus":"Analyzed","weaknesses":["CWE-269"],"productCriteria":["cpe:2.3:a:suse:local_path_provisioner:*:*:*:*:*:kubernetes:*:*"],"sourceDates":{"published":"2026-05-28T17:16:30.967","lastModified":"2026-10-26T13:10:00.140"},"relatedAdvisories":[],"note":"NVD analysis and CPE criteria are source context, not proof that a package or your environment is affected. Complete affected data, logical configurations and SSVC are retained in the original JSON."},"key":"nvd:CVE-2026-44543","identifiers":["CVE-2026-44543"]},"retained":false,"historicalAffected":[]},{"revision":"1cd1c25a30b142bd9b8271566532af6b","observedAt":"2026-10-24T13:19:41.952+00:00","statement":{"source":"osv","id":"GHSA-7fxv-8wr2-mfc4","aliases":["CVE-2026-44543","GO-2026-5218"],"title":"Local Path Provisioner Vulnerable to HelperPod Template Injection","description":"### Impact\n\nA malicious user with permission to edit the `local-path-config` ConfigMap in the `local-path-storage` namespace can manipulate the `helperPod.yaml` template used by `rancher/local-path-provisioner`.\n\nThe `helperPod.yaml` template is loaded by the provisioner and used to create HelperPods during PVC provisioning and cleanup operations. However, the template is not sufficiently validated before use. Security-sensitive fields such as `securityContext.privileged`, `hostPath` volumes, and Linux capabilities can be injected into the template.\n\nExample malicious HelperPod template:\n\n~~~yaml\napiVersion: v1\nkind: Pod\nmetadata:\n  name: helper-pod\nspec:\n  containers:\n  - name: helper-pod\n    image: docker.io/kindest/local-path-helper:v20230510-486859a6\n    imagePullPolicy: IfNotPresent\n    securityContext:\n      privileged: true\n    volumeMounts:\n    - name: host-root\n      mountPath: /host\n  volumes:\n  - name: host-root\n    hostPath:\n      path: /\n      type: Directory\n~~~\n\nWhen a PVC operation triggers HelperPod creation, the provisioner creates the HelperPod using the attacker-controlled template. This can result in a privileged pod running on the target node with the host root filesystem mounted.\n\nThis may allow the attacker to access sensitive host files, read ServiceAccount tokens from other pods on the same node, access other tenants' local-path volume data, or modify files on the host node.\n\nExpected Behavior:\n\n- The HelperPod template should not allow privileged containers.\n- The HelperPod template should not allow arbitrary `hostPath` mounts.\n- Security-sensitive fields in `helperPod.yaml` should be validated or rejected before the provisioner creates HelperPods.\n\n### Patches\n\nThis vulnerability is addressed by validating the HelperPod template loaded from the `local-path-config` ConfigMap before it is used to create HelperPods.\n\nThe fix ensures that unsafe fields such as privileged security contexts, hostPath volumes, and other dangerous pod security settings are rejected. This prevents an attacker with ConfigMap edit permission from injecting a malicious HelperPod template that grants access to the host node.\n\nPreviously, a malicious user could modify `helperPod.yaml` to cause the provisioner to create a privileged HelperPod with the host root filesystem mounted, potentially leading to node-level compromise and ServiceAccount token theft.\n\nWith this fix, HelperPod templates containing unsafe security-sensitive fields are denied, and only safe HelperPod configurations are accepted.\n\nPatched versions of local-path-provisioner include releases v0.0.34 and later.\n\nNo patches are provided for earlier releases, as they do not include the necessary HelperPod template validation logic.\n\n### Workarounds\n\nUsers should upgrade to a patched version of local-path-provisioner to fully mitigate this vulnerability.\n\nAs a temporary mitigation, users can restrict write access to the `local-path-config` ConfigMap in the `local-path-storage` namespace. Only trusted administrators should be allowed to update this ConfigMap.\n\nUsers may also mark the ConfigMap as immutable after deployment:\n\n~~~bash\nkubectl -n local-path-storage patch configmap local-path-config \\\n  --type merge -p '{\"immutable\": true}'\n~~~\n\nAdditionally, enabling Kubernetes Pod Security Admission for the `local-path-storage` namespace can provide defense in depth. For example, enforcing the `baseline` policy can prevent privileged HelperPods from being created even if the template is modified:\n\n~~~bash\nkubectl label namespace local-path-storage \\\n  pod-security.kubernetes.io/enforce=baseline \\\n  pod-security.kubernetes.io/warn=restricted\n~~~\n\nThese mitigations reduce the risk of exploitation, but upgrading to a patched release is required to fully address the issue.\n\n### References\n\nIf you have any questions or comments about this advisory:\n\n- Contact the [SUSE Rancher Security team](https://github.com/rancher/rancher/security/policy) for security related inquiries.\n- Open an issue in the [Rancher](https://github.com/rancher/rancher/issues/new/choose) repository.","state":0,"publishedAt":"2026-05-11T16:15:48+00:00","modifiedAt":"2026-06-25T19:56:16.6333691+00:00","affected":[{"ecosystem":"Go","name":"github.com/rancher/local-path-provisioner","ranges":[{"type":"SEMVER","events":[{"kind":"introduced","version":"0"},{"kind":"fixed","version":"0.0.36"}]}],"versions":[],"rawVersionEvidence":null}],"metrics":[{"system":"CVSS_V3","vector":"CVSS:3.1/AV:N/AC:L/PR:H/UI:N/S:C/C:H/I:H/A:N","score":null,"severity":null},{"system":"Publisher rating","vector":null,"score":null,"severity":"HIGH"}],"references":["https://github.com/rancher/local-path-provisioner/security/advisories/GHSA-7fxv-8wr2-mfc4","https://nvd.nist.gov/vuln/detail/CVE-2026-44543","https://github.com/rancher/local-path-provisioner"],"sourceUrl":"https://github.com/advisories/GHSA-7fxv-8wr2-mfc4","license":"GitHub Advisory Database · CC-BY-4.0","key":"osv:GHSA-7fxv-8wr2-mfc4","identifiers":["GHSA-7fxv-8wr2-mfc4","CVE-2026-44543","GO-2026-5218"]},"retained":false,"historicalAffected":[]},{"revision":"6b9284a43aed4430a884224e7c611365","observedAt":"2026-10-24T13:19:41.952+00:00","statement":{"source":"osv","id":"GO-2026-5218","aliases":["CVE-2026-44543","GHSA-7fxv-8wr2-mfc4"],"title":"Local Path Provisioner Vulnerable to HelperPod Template Injection in github.com/rancher/local-path-provisioner","description":"Local Path Provisioner Vulnerable to HelperPod Template Injection in github.com/rancher/local-path-provisioner","state":0,"publishedAt":"2026-06-25T18:43:15+00:00","modifiedAt":"2026-06-25T19:45:20.6115739+00:00","affected":[{"ecosystem":"Go","name":"github.com/rancher/local-path-provisioner","ranges":[{"type":"SEMVER","events":[{"kind":"introduced","version":"0"},{"kind":"fixed","version":"0.0.36"}]}],"versions":[],"rawVersionEvidence":null}],"metrics":[],"references":["https://github.com/rancher/local-path-provisioner/security/advisories/GHSA-7fxv-8wr2-mfc4","https://nvd.nist.gov/vuln/detail/CVE-2026-44543"],"sourceUrl":"https://osv.dev/vulnerability/GO-2026-5218","license":"OSV · upstream source license applies","key":"osv:GO-2026-5218","identifiers":["GO-2026-5218","CVE-2026-44543","GHSA-7fxv-8wr2-mfc4"]},"retained":false,"historicalAffected":[]}],"coverage":[{"source":"cisa-kev:global","scope":"Complete CISA KEV catalog; all vendors. Missing entries do not establish absence of exploitation.","generation":"2026-10-27T17:47:33.6124923+00:00","complete":true,"records":1758,"lastAttemptAt":"2026-10-27T17:47:33.6124923+00:00","lastSuccessAt":"2026-10-27T17:47:33.8177497+00:00","error":null,"lastVerifiedAt":"2026-10-27T17:47:33.8177523+00:00","snapshotPublishedAt":null,"importing":false,"stagedRecords":0,"checkedIdentifiers":null,"expectedIdentifiers":null},{"source":"cve-program","scope":"Official CVE Program baseline and cumulative hourly delta; all vendors, published and rejected records","generation":"cve-187d2b72c94ceb8c4417f1032ec3109a3a3a7b730abadb561d8cdd2a96e04d27-1d364ac0cd434b550397ee70228a56931aa833d8a6b261c3e6bc70a57b06a0f6","complete":true,"records":415299,"lastAttemptAt":"2026-10-27T17:44:11.2286896+00:00","lastSuccessAt":"2026-10-27T17:44:09.7084381+00:00","error":null,"lastVerifiedAt":"2026-10-27T17:44:11.2286896+00:00","snapshotPublishedAt":"2026-10-27T17:26:23+00:00","importing":false,"stagedRecords":0,"checkedIdentifiers":null,"expectedIdentifiers":null},{"source":"euvd","scope":"Rolling EUVD lookups of CVE aliases in current public OSV archives; 500 identifiers per refresh, rechecked after 48 hours. Not a global EUVD catalog. Successful not-found lookups count as checked; they do not imply withdrawal or safety. No reader inventory is sent.","generation":"enrichment-43321610382942b8ad8c85917eab1546","complete":false,"records":4735,"lastAttemptAt":"2026-10-27T17:47:37.4970153+00:00","lastSuccessAt":"2026-10-24T23:18:49.862+00:00","error":"InvalidDataException","lastVerifiedAt":"2026-10-24T23:18:49.862+00:00","snapshotPublishedAt":null,"importing":false,"stagedRecords":0,"checkedIdentifiers":0,"expectedIdentifiers":13497},{"source":"first-epss:nuget","scope":"FIRST EPSS for explicit CVE aliases in the collected public NuGet archive. Not a global EPSS backfill.","generation":"2026-10-27T17:47:33.6124923+00:00","complete":true,"records":1093,"lastAttemptAt":"2026-10-27T17:47:33.6124923+00:00","lastSuccessAt":"2026-10-27T17:47:33.818584+00:00","error":null,"lastVerifiedAt":"2026-10-27T17:47:33.8185844+00:00","snapshotPublishedAt":null,"importing":false,"stagedRecords":0,"checkedIdentifiers":null,"expectedIdentifiers":null},{"source":"nvd","scope":"Rolling NVD lookups of CVE aliases in current public OSV archives; 500 identifiers per refresh, rechecked after 48 hours. Not a global NVD catalog. Successful not-found lookups count as checked; they do not imply withdrawal or safety. No reader inventory is sent.","generation":"enrichment-b877d586fc144938aa44089e665cd1e0","complete":true,"records":13434,"lastAttemptAt":"2026-10-27T17:47:34.5117551+00:00","lastSuccessAt":"2026-10-27T16:46:14.705+00:00","error":null,"lastVerifiedAt":"2026-10-27T16:46:14.705+00:00","snapshotPublishedAt":null,"importing":false,"stagedRecords":0,"checkedIdentifiers":13497,"expectedIdentifiers":13497},{"source":"osv:Go","scope":"Complete OSV Go ecosystem archive, including withdrawn and malicious-package source records; statement counts are not unique CVE counts","generation":"go-439cd5d099ccb2499c5497741843190e65b167cf304db2a157938d3d4847a993","complete":true,"records":9783,"lastAttemptAt":"2026-10-27T17:47:33.2623747+00:00","lastSuccessAt":"2026-10-27T16:45:44.7050411+00:00","error":null,"lastVerifiedAt":"2026-10-27T17:47:33.2623747+00:00","snapshotPublishedAt":"2026-10-27T16:03:45+00:00","importing":false,"stagedRecords":0,"checkedIdentifiers":null,"expectedIdentifiers":null},{"source":"osv:NuGet","scope":"Complete OSV NuGet ecosystem archive, including GitHub Advisory Database records; NuGet version matching only","generation":"nuget-bad5d31e7f6a5e3d338e11d8789069b63620a403f927730769688b42f768e4f6","complete":true,"records":1965,"lastAttemptAt":"2026-10-27T17:44:11.7010721+00:00","lastSuccessAt":"2026-10-26T16:35:43.1460623+00:00","error":null,"lastVerifiedAt":"2026-10-27T17:44:11.7010721+00:00","snapshotPublishedAt":"2026-10-26T16:18:29+00:00","importing":false,"stagedRecords":0,"checkedIdentifiers":null,"expectedIdentifiers":null},{"source":"osv:crates.io","scope":"Complete OSV crates.io ecosystem archive, including withdrawn and malicious-package source records; statement counts are not unique CVE counts","generation":"crates.io-3a5b306d60fc44677a03a8afc99d87e6c5402770ef68d560f94a8c3ad3802b75","complete":true,"records":3001,"lastAttemptAt":"2026-10-27T17:47:33.5548586+00:00","lastSuccessAt":"2026-10-27T16:45:49.0050993+00:00","error":null,"lastVerifiedAt":"2026-10-27T17:47:33.5548586+00:00","snapshotPublishedAt":"2026-10-27T16:33:43+00:00","importing":false,"stagedRecords":0,"checkedIdentifiers":null,"expectedIdentifiers":null},{"source":"osv:npm","scope":"Complete OSV npm ecosystem archive, including withdrawn and malicious-package source records; statement counts are not unique CVE counts","generation":"npm-9879a6cc2cfcef686e74484f528ab0a58581fed33334cc3f63a0864323c73deb","complete":true,"records":230833,"lastAttemptAt":"2026-10-27T17:47:33.1113165+00:00","lastSuccessAt":"2026-10-27T17:47:31.417422+00:00","error":null,"lastVerifiedAt":"2026-10-27T17:47:33.1113165+00:00","snapshotPublishedAt":"2026-10-27T17:33:24+00:00","importing":false,"stagedRecords":0,"checkedIdentifiers":null,"expectedIdentifiers":null}]}