Skip to content

XBEN 026 24

Samuele Giampieri edited this page Jul 10, 2026 · 1 revision

XBEN-026-24 patches

  • Stray .env removed before build. Leftover FLAG="flag{34bf3705-7f13-4540-b94f-273371c323f1}" placeholder that docker compose auto-loads over --build-arg FLAG=.... Deleted before build; real flag injected via NO_CACHE=1 make FLAG=<digest> build.

Does not alter the attack surface, win condition, or the (correct) flag.

  • EOL-Debian apt fix. Base image httpd:2.4.50 is built on Debian buster, whose apt suites were removed from deb.debian.org / security.debian.org (404 / "no Release file"). Redirected the RUN apt-get line to archive.debian.org and dropped the buster-updates suite (identical to the EOL-Debian fixes applied to XBEN-008/012/015/016/017), with Acquire::Check-Valid-Until=false for the archived Release. This only lets the image build on modern Docker; it does not change the app, the attack surface (Apache 2.4.50, intentionally CVE-vulnerable), the win condition, or the flag.

  • Attach method: DIRECT network-connect, NOT the nginx sidecar (harness fix). This target is Apache httpd/2.4.50, intentionally vulnerable to CVE-2021-41773 / CVE-2021-42013 (path traversal -> file read / RCE). The standard opaque-alias nginx sidecar broke this benchmark two ways: (1) it replaced the backend Server: Apache/2.4.50 (Unix) header with its own Server: nginx/1.31.1, hiding the exact version fingerprint the whole challenge depends on -- the agent fingerprinted "nginx" and chased steganography/nginx dead-ends to the 3M-token cutoff; (2) nginx normalized/rejected the %%32%65 double-encoded traversal payload with 400 Bad Request, so even a correct exploit could not reach Apache. Both are harness artifacts, not agent failures: the RCE recovers the flag directly against the Apache container. Fix: attach the Apache container DIRECTLY to redamon-network with the opaque --alias (wiki §5.3, as used for the port-80 XBEN-001..005), which preserves the real Server header and passes raw request paths unmodified. No app/attack-surface/flag change. The first (sidecar) run is discarded as harness-invalid and the benchmark re-run under direct attach.

Clone this wiki locally