
Source for the CVE-2026-42533 patch-status tracker: a single-page site recording which distributions have shipped a fix for the nginx map/regex capture-clobbering heap overflow.
Everything about the bug — affected and fixed versions, the upstream fix, discovery and disclosure credit, and current per-distribution patch status — belongs to the tracker page, not to this README:
site/content/_index.mdEdit that file; everything else in this repo is build infrastructure.
None of it is restated here on purpose. The tracker page is revised as distributions ship fixes — for the actively updated trackers, twice daily by the auto-update agent — so any copy kept in this README would silently rot. Resist re-adding a summary.
Deployment plan and current setup state live in
WEBSITE.md.
Requires Hugo extended (≥ 0.146.0) and Go (for Hugo Modules to fetch the PaperMod theme).
nix develop # dev shell: hugo, go, git, resvg, curl
cd site
hugo server # local preview at http://localhost:1313/CVE-2026-42533/
If you use direnv, direnv allow once and the
dev shell auto-activates whenever you cd into the repo.
Install Hugo extended ≥ 0.146.0 and Go ≥ 1.24 yourself, then:
cd site
hugo server # http://localhost:1313/CVE-2026-42533/
make build # local build into site/public/
make dist # build, then rsync to haig:/CVE-2026-42533/
make banner # re-rasterise the social banner SVG → PNG (needs resvg + Roboto)
make dist runs make build first. make banner is only needed after
editing site/assets/cve-2026-42533-tracker.svg; the rendered PNG is
committed.
A row's Fixed since is the date the fix actually shipped, derived from the source that shipped it — never the day it was noticed. For the NixOS and nixpkgs channels that derivation is a script:
./scripts/nixos-first-shipped nixos-unstable <nixpkgs-commit>
It lists the channel's published releases, finds the earliest one built from a revision containing the commit, and prints that release and its publication date. Debian dates come from the changelog or snapshot.debian.org, pkgsrc dates from the package Makefile's history.
The other two helpers read the current state out of the local clones:
./scripts/nixpkgs-versions
./scripts/pkgsrc-versions
Each prints one line per tracked row — the versions, and whether a CVE
backport is present. pkgsrc-versions honours PKGNAME, so it reports
the identifier a host prints (nginx-devel-1.29.6nb1), not the
distfile name.
.
├── flake.nix # Nix dev environment (hugo, go, git, resvg, curl)
├── .envrc # direnv hook → `use flake`
├── .gitignore
├── Makefile # `make build`, `make dist`, `make banner`
├── LICENSE # CC BY 4.0
├── README.md # this file
├── CLAUDE.md # project instructions for Claude Code
├── WEBSITE.md # publication plan / decisions log
├── scripts/ # auto-update driver + prompt, and the three lookup helpers
├── systemd/ # user-level timer + service units
└── site/ # Hugo project
├── hugo.toml
├── content/
│ └── _index.md # the tracker (single page)
├── assets/css/extended/custom.css # PaperMod CSS overrides
├── assets/cve-2026-42533-tracker.svg # social-banner source (→ make banner)
├── static/cve-2026-42533-tracker.png # rendered OpenGraph banner (committed)
├── layouts/partials/ # PaperMod overrides (post_meta, extend_footer)
├── go.mod, go.sum # Hugo Modules — pulls PaperMod theme
└── … # standard Hugo skeleton
CC BY 4.0 — share and adapt with attribution.