{"answers":{"affected":"3 open source packages ship an affected version, including github.com/dunglas/frankenphp.","exploited":"There is no known exploitation of GHSA-x9p2-77v6-6vhf in the wild and no public exploit code.","fix":"Upgrade github.com/dunglas/frankenphp to 1.1.11 or later.","what":"GHSA-x9p2-77v6-6vhf is a vulnerability in github.com/dunglas/frankenphp, published on 5 Feb 2026. An attacker can exploit it over the internet without logging in, with no action from the victim."},"fix_prompt":"Check this codebase for GHSA-x9p2-77v6-6vhf and fix it if it is affected.\n\nWhat it is: GHSA-x9p2-77v6-6vhf is a vulnerability in github.com/dunglas/frankenphp, published on 5 Feb 2026. An attacker can exploit it over the internet without logging in, with no action from the victim.\nExploitation: There is no known exploitation of GHSA-x9p2-77v6-6vhf in the wild and no public exploit code.\n\nAffected packages and fixed versions:\n- github.com/dunglas/frankenphp (Go): affected all versions; no fix listed\n- github.com/dunglas/frankenphp (Go): affected all versions; fixed in 1.1.11\n- github.com/dunglas/frankenphp (Go): affected all versions; fixed in 1.1.11\n\nTask:\n1. Search the dependency manifests and lockfiles (for example package.json, package-lock.json, requirements.txt, poetry.lock, uv.lock, pom.xml, build.gradle, go.mod, Cargo.lock, Gemfile.lock) and any Dockerfiles for the affected packages, including transitive dependencies.\n2. If an affected version is in use, upgrade it to the fixed version for its release line with the project's package manager, so the lockfile is regenerated. Prefer the smallest upgrade that fixes it.\n3. If there is no fix, or the upgrade would break the build, do not guess: explain the risk and the safest workaround instead.\n4. Run the tests and summarise what changed and why.\n5. If nothing in the project is affected, say so and change nothing.\n\nReference: https://insights.sbomify.com/GHSA-x9p2-77v6-6vhf/ (Markdown: https://insights.sbomify.com/GHSA-x9p2-77v6-6vhf/index.md)","id":"GHSA-x9p2-77v6-6vhf","markdown":"https://insights.sbomify.com/GHSA-x9p2-77v6-6vhf/index.md","name":"GHSA-x9p2-77v6-6vhf","record":{"aliases":["GO-2026-4442"],"analysis":{"component_type":"container_or_infrastructure","fix_type":"configuration_change","impacts":["code_execution"],"network_reachable":"yes","non_default_config":false,"product_category":"FrankenPHP container images","requires_auth":"none","summary":"FrankenPHP images failed to auto-update base layers, exposing users to upstream vulnerabilities like RCE in libcrypto3 until manual rebuilds or pipeline fixes.","user_interaction":"not_required","vuln_class":"supply_chain"},"analysis_generated_by":"qwen3.8-flash-next","assigner":null,"cpe":[],"cvss":{"score":null,"severity":null,"source":null,"vector":null,"version":null},"cwes":[],"description":"# Delayed propagation of security fixes in upstream base images\n\n## Summary\n\n**Vulnerability in base Docker images (PHP, Go, and Alpine) not automatically propagating to FrankenPHP images.**\n\nFrankenPHP's container images were previously built only when specific version tags were updated or when manual triggers were initiated. This meant that if an upstream base image (such as Alpine Linux or official PHP/Go images) received a security patch under an existing tag, the FrankenPHP image would remain on the older, vulnerable version of those base layers.\n\n## Impact\n\nUsers pulling FrankenPHP images may have been running environments with known vulnerabilities in underlying system libraries (e.g., `libcrypto3`) even if they were using the \"latest\" version of a specific FrankenPHP tag.\n\nSpecifically, this includes vulnerabilities recently patched in **Alpine 3.20.9, 3.21.6, 3.22.3, and 3.23.3**, such as **CVE-2025-15467** (Remote Code Execution in `libcrypto3`).\n\n## Details\n\nThe issue was a lack of automated \"staleness\" detection in the CI/CD pipeline.\n\nUnless explicitly told, our build server was building new Docker images only when a new tag for base images was created. However, base images such as Alpine, PHP, and Go usually overwrite existing Docker tags to apply security fixes, which wasn't triggering a new build on our side.\n\n## Patches\n\nAs of **February 4, 2026**, the CI/CD pipeline has been updated.\n\n* **Automated Detection:** A daily check is now performed to compare the digest of local base images against upstream registries.\n* **Auto-Rebuild:** If a change is detected in base images (even if the tag name remains the same), FrankenPHP images are automatically rebuilt and re-pushed.\n\n**Users are advised to pull the latest versions of their specific tags to receive these updates.**\n\n## Workarounds\n\nYou can force a local rebuild of your environment using the `--pull` flag to ensure you are fetching the latest patched base layers:\n\n```bash\ndocker pull dunglas/frankenphp:latest\n# If building your own image based on FrankenPHP\ndocker build --pull -t my-app .\n```\n\n## References\n\n* [Alpine Linux Security Advisories](https://www.alpinelinux.org/posts/Alpine-3.20.9-3.21.6-3.22.3-3.23.3-released.html)\n* **CVE-2025-15467** (RCE in libcrypto3)\n\n## Credits\n\nThanks to [Tim Nelles](https://timnelles.de/) for reporting and fixing this issue.","ecosystems":["Go"],"exploits":{"exploitdb":null,"first_seen":null,"github_poc":null,"max_poc_stars":null,"metasploit":null,"nuclei":null,"refs":[],"tier":null},"has_fix":true,"headline":"FrankenPHP has delayed propagation of security fixes in upstream base images","id":"GHSA-x9p2-77v6-6vhf","indexable":true,"kev":null,"kind":"advisory","links":{"ecosystem":"Go","product":null,"products":[],"type":"supply_chain","year":"2026"},"n_packages":3,"n_references":null,"packages":[{"ecosystem":"Go","fixed":[],"introduced":["0"],"last_affected":[],"package":"github.com/dunglas/frankenphp","purl":"pkg:golang/github.com/dunglas/frankenphp","source":"GO-2026-4442"},{"ecosystem":"Go","fixed":["1.1.11"],"introduced":["0"],"last_affected":[],"package":"github.com/dunglas/frankenphp","purl":null,"source":"GHSA-x9p2-77v6-6vhf"},{"ecosystem":"Go","fixed":["1.1.11"],"introduced":["0"],"last_affected":[],"package":"github.com/dunglas/frankenphp","purl":"pkg:golang/github.com/dunglas/frankenphp","source":"GHSA-x9p2-77v6-6vhf"}],"products":null,"published":"2026-02-05","related":[],"sources":[{"class":"attribution","licence":"CC BY 4.0","name":"GitHub Advisory Database","prefix":"GHSA"},{"class":"attribution","licence":"CC BY 4.0","name":"Go Vulnerability Database","prefix":"GO"}],"ssvc":{"automatable":null,"exploitation":null,"technical_impact":null},"state":null,"updated":null,"vendors":null},"summary":"FrankenPHP images failed to auto-update base layers, exposing users to upstream vulnerabilities like RCE in libcrypto3 until manual rebuilds or pipeline fixes.","url":"https://insights.sbomify.com/GHSA-x9p2-77v6-6vhf/"}