{"id":"CVE-2026-55675","state":"PUBLISHED","title":"Salty documentation workflow executes fork-controlled Python build hooks with deployment secrets","description":"The Salty documentation repository builds and deploys the docs.saltbox.dev website. Prior to commit 649c9aea2daef1168eeb0415b44e65dbbde9f220, .github/workflows/trigger-pr-build.yml records an untrusted fork commit in the pr_info artifact, and the secret-bearing workflow_run job in .github/workflows/build-pr.yml checks out that commit before running pip install -r requirements.txt. A fork pull request can therefore supply attacker-authored setup.py or PEP 517 build hooks whose installation code executes in the privileged base-repository workflow with CF_API_TOKEN, GH_TOKEN, MKDOCS_GIT_COMMITTERS_APIKEY, and a write-capable GITHUB_TOKEN, allowing secret disclosure and follow-on compromise. The vulnerability is not caused by the repository-fork guard, and the demonstrated path requires attacker control of fork content rather than merely the artifact metadata. This vulnerability is fixed with commit 649c9aea2daef1168eeb0415b44e65dbbde9f220.","publishedAt":"2026-10-13T15:15:25.023Z","updatedAt":"2026-10-13T16:22:51.021Z","severity":{"score":10,"label":"Critical","version":"3.1","vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:H","source":"GitHub_M"},"assigner":"GitHub_M","products":["saltyorg docs"],"affected":[{"vendor":"saltyorg","product":"docs","versions":[{"version":"< 649c9aea2daef1168eeb0415b44e65dbbde9f220","status":"affected"}]}],"references":["https://github.com/saltyorg/docs/security/advisories/GHSA-wr2h-fpxm-ff4x","https://github.com/saltyorg/docs/commit/649c9aea2daef1168eeb0415b44e65dbbde9f220"],"weaknesses":["CWE-94","CWE-829","CWE-1357"],"ingestedAt":"2026-10-29T20:12:24.861Z","source":{"repository":"CVEProject/cvelistV5","path":"cves/2026/55xxx/CVE-2026-55675.json","commit":"556c9d3a8cd17e218bb8e452ba7cd619a384ff47"},"raw":{"dataType":"CVE_RECORD","dataVersion":"5.2","cveMetadata":{"cveId":"CVE-2026-55675","state":"PUBLISHED","datePublished":"2026-10-13T15:15:25.023Z","dateUpdated":"2026-10-13T16:22:51.021Z","assignerShortName":"GitHub_M","assignerOrgId":"a0819718-46f1-4df5-94e2-005712e83aaa","dateReserved":"2026-06-17T00:05:03.778Z"},"containers":{"cna":{"title":"Salty documentation workflow executes fork-controlled Python build hooks with deployment secrets","descriptions":[{"lang":"en","value":"The Salty documentation repository builds and deploys the docs.saltbox.dev website. Prior to commit 649c9aea2daef1168eeb0415b44e65dbbde9f220, .github/workflows/trigger-pr-build.yml records an untrusted fork commit in the pr_info artifact, and the secret-bearing workflow_run job in .github/workflows/build-pr.yml checks out that commit before running pip install -r requirements.txt. A fork pull request can therefore supply attacker-authored setup.py or PEP 517 build hooks whose installation code executes in the privileged base-repository workflow with CF_API_TOKEN, GH_TOKEN, MKDOCS_GIT_COMMITTERS_APIKEY, and a write-capable GITHUB_TOKEN, allowing secret disclosure and follow-on compromise. The vulnerability is not caused by the repository-fork guard, and the demonstrated path requires attacker control of fork content rather than merely the artifact metadata. This vulnerability is fixed with commit 649c9aea2daef1168eeb0415b44e65dbbde9f220."}],"affected":[{"vendor":"saltyorg","product":"docs","versions":[{"version":"< 649c9aea2daef1168eeb0415b44e65dbbde9f220","status":"affected"}]}],"references":[{"url":"https://github.com/saltyorg/docs/security/advisories/GHSA-wr2h-fpxm-ff4x","name":"https://github.com/saltyorg/docs/security/advisories/GHSA-wr2h-fpxm-ff4x","tags":["x_refsource_CONFIRM"]},{"url":"https://github.com/saltyorg/docs/commit/649c9aea2daef1168eeb0415b44e65dbbde9f220","name":"https://github.com/saltyorg/docs/commit/649c9aea2daef1168eeb0415b44e65dbbde9f220","tags":["x_refsource_MISC"]}],"metrics":[{"cvssV3_1":{"attackComplexity":"LOW","attackVector":"NETWORK","availabilityImpact":"HIGH","baseScore":10,"baseSeverity":"CRITICAL","confidentialityImpact":"HIGH","integrityImpact":"HIGH","privilegesRequired":"NONE","scope":"CHANGED","userInteraction":"NONE","vectorString":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:H","version":"3.1"}}],"problemTypes":[{"descriptions":[{"cweId":"CWE-94","lang":"en","description":"CWE-94: Improper Control of Generation of Code ('Code Injection')","type":"CWE"}]},{"descriptions":[{"cweId":"CWE-829","lang":"en","description":"CWE-829: Inclusion of Functionality from Untrusted Control Sphere","type":"CWE"}]},{"descriptions":[{"cweId":"CWE-1357","lang":"en","description":"CWE-1357: Reliance on Insufficiently Trustworthy Component","type":"CWE"}]}],"providerMetadata":{"shortName":"GitHub_M","orgId":"a0819718-46f1-4df5-94e2-005712e83aaa","dateUpdated":"2026-10-13T15:15:25.023Z"},"source":{"advisory":"GHSA-wr2h-fpxm-ff4x","discovery":"UNKNOWN"}},"adp":[{"title":"CISA ADP Vulnrichment","references":[{"url":"https://github.com/saltyorg/docs/security/advisories/GHSA-wr2h-fpxm-ff4x","tags":["exploit"]}],"metrics":[{"other":{"type":"ssvc","content":{"timestamp":"2026-10-13T16:22:32.466720Z","id":"CVE-2026-55675","options":[{"Exploitation":"poc"},{"Automatable":"yes"},{"Technical Impact":"total"}],"role":"CISA Coordinator","version":"2.0.3"}}}],"providerMetadata":{"shortName":"CISA-ADP","orgId":"134c704f-9b21-4f2e-91b3-4a467353bcc0","dateUpdated":"2026-10-13T16:22:51.021Z"}}]}}}