You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
P1 hardening: multipart uploads now reject pre-buffer via
`tower_http::limit::RequestBodyLimitLayer`. `Content-Length` exceeding
`max_upload_size` returns 413 before any body bytes are read, closing a
memory-exhaustion vector that existed when axum's multipart extractor
streamed oversized bodies and mapped the resulting error to 500.
CVEs: upgraded rustls-webpki 0.103.10 → 0.103.12 to address
RUSTSEC-2026-0098 (URI name constraints incorrectly accepted) and
RUSTSEC-2026-0099 (wildcard name constraints incorrectly accepted).
Added four regression tests covering oversized sign/verify 413,
Content-Length pre-buffer 413, and under-limit negative. Committed the
interactive demos landing page (`docs/demo.html` + six asciinema casts)
and bumped docs/README version badges to 0.5.8. CHANGELOG filled in the
missing 0.5.6 / 0.5.7 entries and captures 0.5.8.
Co-Authored-By: Claude <noreply@anthropic.com>
Copy file name to clipboardExpand all lines: CHANGELOG.md
+37Lines changed: 37 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -7,6 +7,43 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
7
7
8
8
## [Unreleased]
9
9
10
+
## [0.5.8] - 2026-04-16
11
+
12
+
### Security
13
+
-**P1 hardening: multipart body-limit pre-buffer enforcement** — added `tower_http::limit::RequestBodyLimitLayer` so `Content-Length` exceeding `max_upload_size` returns `413 Payload Too Large` before any body bytes are buffered. Prevents memory-exhaustion via lying/huge uploads at multipart-extractor edge.
14
+
-**CVE: rustls-webpki name-constraint bypasses** (RUSTSEC-2026-0098, RUSTSEC-2026-0099) — bumped `rustls-webpki` from 0.103.10 to 0.103.12 via `cargo update`. URI-name and wildcard name-constraint validation is now correct.
15
+
16
+
### Added
17
+
- Four body-limit regression tests in `web::handlers` covering sign/verify oversized-body 413, Content-Length pre-buffer 413, and under-limit negative assertion.
18
+
- Interactive demos landing page at `docs/demo.html` with six asciinema scenarios.
19
+
20
+
## [0.5.7] - 2026-03-25
21
+
22
+
### Fixed
23
+
-**CAB Authenticode interop** (#45) — reserve-header magic must be `00 00 10 00` (not `14 00 00 00`); hash covers selective fields `[0..4]+[8..34]+[56..60]+[60..sigOffset]` so osslsigncode/signtool accept output.
24
+
-**MSI Authenticode interop** (#46) — hash includes root CLSID (16 bytes) after stream contents; stream order uses raw UTF-16LE byte sort.
25
+
- CI test-coverage expansion for CAB/MSI interop.
26
+
27
+
## [0.5.6] - 2026-03-23
28
+
29
+
### Added
30
+
-**P-521 ECDSA signing** end-to-end with web e2e tests.
31
+
-**CIDR-aware reverse-proxy trust** for `X-Forwarded-For` / `X-Real-IP` — only trusted CIDRs may set `client_ip`.
0 commit comments