fix(security): pin Console libexpat to 2.8.5-r0 - #4418
plural-copilot[bot] wants to merge 1 commit into
Conversation
There was a problem hiding this comment.
This PR was generated by the codex Plural Agent Runtime. Here's some useful information you might want to know to evaluate the ai's perfomance:
| Name | Details |
|---|---|
| 💬 Prompt | Create one remediation PR in this repository for fixed-version findings in the live mgmt/console service inventory. Work directly on the source/build files only: do not change GitOps deployment configuration or image tags.... |
| 🔗 Run history | View run history |
Soffi AI SummaryThis PR patches a security vulnerability in the Console Docker image by pinning the Alpine ChangesPin libexpat to patched version in Console image
Updated: 2026-09-25 14:28 UTC |
|
| WORKDIR /opt/app | ||
|
|
||
| RUN [ "$OS_VARIANT" = "alpine" ] && apk update && apk upgrade --no-cache libexpat zlib musl musl-utils || true | ||
| RUN [ "$OS_VARIANT" = "alpine" ] && apk update && apk add --no-cache libexpat=2.8.5-r0 && apk upgrade --no-cache zlib musl musl-utils || true |
There was a problem hiding this comment.
If libexpat=2.8.5-r0 becomes unavailable in the Alpine repository, apk add fails and skips the zlib and musl upgrades. The trailing || true still lets the image build and publish, so the libexpat fix may not reach the runtime image. Make the Alpine install fail the build and verify the package version in the final image.
How this was verified: A failed apk add stops the && chain, while || true makes the RUN instruction succeed.
Plural Service: mgmt/console
Summary
ghcr.io/pluralsh/console:sha-debb0b5: pin the Alpine runtime installation oflibexpatfrom the vulnerable2.8.4-r0to the fixed exact version2.8.5-r0. The final runtime stage now usesapk add --no-cache libexpat=2.8.5-r0before its existing zlib/musl upgrades.Coverage decision
191bef4cefaf0a89a26375a49a783bc94a195478) and fully, precisely covers the Kubernetes Agent and Nexus source/build fixes, so they are intentionally not duplicated here:ghcr.io/pluralsh/kubernetes-agent:0.12.47: Debiantzdata2026b-0+deb12u1→2026c-0+deb12u1, plus OpenTelemetryv1.43/v1.44→v1.45.0.ghcr.io/pluralsh/nexus:0.12.47: Debiantzdata2026b-0+deb12u1→2026c-0+deb12u1.masterthrough merged PR fix(deps): remediate PROD-5214 dependency alerts #4375 (commit7ed391c25a33cd40a361ce88ebff0325c031c763).Validation
git diff --check— passed.docker run --rm -e OS_VARIANT=alpine alpine:3.23.4 sh -ec '[ "$OS_VARIANT" = "alpine" ] && apk update && apk add --no-cache libexpat=2.8.5-r0 && apk upgrade --no-cache zlib musl musl-utils || true; apk info -e "libexpat=2.8.5-r0"'— passed; exact package installed and asserted.docker build --target tools -t console-libexpat-tools-check .— passed; producedsha256:27d0c99b035861c38257c94bb7cff4b72a567b4b6fe63017c91520ebaee5102e.Explicit exclusions
pluralsh/plural-cli).