GHSA-x9p2-77v6-6vhf
FrankenPHP has delayed propagation of security fixes in upstream base images
Delayed propagation of security fixes in upstream base images
Summary
Vulnerability in base Docker images (PHP, Go, and Alpine) not automatically propagating to FrankenPHP images.
FrankenPHP'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.
Impact
Users 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.
Specifically, 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).
Details
The issue was a lack of automated "staleness" detection in the CI/CD pipeline.
Unless 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.
Patches
As of February 4, 2026, the CI/CD pipeline has been updated.
- Automated Detection: A daily check is now performed to compare the digest of local base images against upstream registries.
- 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.
Users are advised to pull the latest versions of their specific tags to receive these updates.
Workarounds
You can force a local rebuild of your environment using the --pull flag to ensure you are fetching the latest patched base layers:
docker pull dunglas/frankenphp:latest
# If building your own image based on FrankenPHP
docker build --pull -t my-app .
References
- Alpine Linux Security Advisories
- CVE-2025-15467 (RCE in libcrypto3)
Credits
Thanks to Tim Nelles for reporting and fixing this issue.
Attack profile
How easy it is to exploit
- Attack vector
- Network
- Complexity
- Low
- Privileges needed
- None
- User interaction
- None
What an attacker can affect
- Confidentiality
- High
- Integrity
- High
- Availability
- High
What each source reports
GitHub Advisories Score used 9.8
FrankenPHP has delayed propagation of security fixes in upstream base images
Delayed propagation of security fixes in upstream base images
Summary
Vulnerability in base Docker images (PHP, Go, and Alpine) not automatically propagating to FrankenPHP images.
FrankenPHP'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.
Impact
Users 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.
Specifically, 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).
Details
The issue was a lack of automated "staleness" detection in the CI/CD pipeline.
Unless 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.
Patches
As of February 4, 2026, the CI/CD pipeline has been updated.
- Automated Detection: A daily check is now performed to compare the digest of local base images against upstream registries.
- 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.
Users are advised to pull the latest versions of their specific tags to receive these updates.
Workarounds
You can force a local rebuild of your environment using the --pull flag to ensure you are fetching the latest patched base layers:
docker pull dunglas/frankenphp:latest
# If building your own image based on FrankenPHP
docker build --pull -t my-app .
References
- Alpine Linux Security Advisories
- CVE-2025-15467 (RCE in libcrypto3)
Credits
Thanks to Tim Nelles for reporting and fixing this issue.
- Record
GHSA-x9p2-77v6-6vhf- CVSS 3.1
- 9.8 Critical
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H - Weakness
- CWE-1395
- Updated
- 2026-11-02
OSV 9.8
FrankenPHP has delayed propagation of security fixes in upstream base images
Delayed propagation of security fixes in upstream base images
Summary
Vulnerability in base Docker images (PHP, Go, and Alpine) not automatically propagating to FrankenPHP images.
FrankenPHP'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.
Impact
Users 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.
Specifically, 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).
Details
The issue was a lack of automated "staleness" detection in the CI/CD pipeline.
Unless 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.
Patches
As of February 4, 2026, the CI/CD pipeline has been updated.
- Automated Detection: A daily check is now performed to compare the digest of local base images against upstream registries.
- 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.
Users are advised to pull the latest versions of their specific tags to receive these updates.
Workarounds
You can force a local rebuild of your environment using the --pull flag to ensure you are fetching the latest patched base layers:
docker pull dunglas/frankenphp:latest
# If building your own image based on FrankenPHP
docker build --pull -t my-app .
References
- Alpine Linux Security Advisories
- CVE-2025-15467 (RCE in libcrypto3)
Credits
Thanks to Tim Nelles for reporting and fixing this issue.
- Record
GHSA-x9p2-77v6-6vhf- CVSS 3.1
- 9.8 Critical
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H - Weakness
- CWE-1395
- Updated
- 2026-11-02
OSVGO-2026-4442No score
FrankenPHP has delayed propagation of security fixes in upstream base images in github.com/dunglas/frankenphp
FrankenPHP has delayed propagation of security fixes in upstream base images in github.com/dunglas/frankenphp.
NOTE: The source advisory for this report contains additional versions that could not be automatically mapped to standard Go module versions.
(If this is causing false-positive reports from vulnerability scanners, please suggest an edit to the report.)
The additional affected modules and versions are: github.com/dunglas/frankenphp before v1.1.11.
- Record
GO-2026-4442- Updated
- 2026-11-02
Affected packages
| Package | Affected | Fixed |
|---|---|---|
github.com/dunglas/frankenphpGo | before 1.1.11 | 1.1.11 |
github.com/dunglas/frankenphpGo | All versions | None known |
History
| Recorded | Changed | Sources |
|---|---|---|
| first indexed | GitHub Advisories, OSV |
Dates are when Every CVE recorded each change. Upstream dates may differ.
In short
GHSA-x9p2-77v6-6vhf is a critical vulnerability (CVSS 9.8) in github.com/dunglas/frankenphp, published February 5, 2026. No source lists public exploit code. Fixed in github.com/dunglas/frankenphp 1.1.11.