Skip to content

chore: release prep for 2.4.1 - #790

Merged
lakhansamani merged 1 commit into
mainfrom
chore/release-2.4.1
Sep 3, 2026
Merged

chore: release prep for 2.4.1#790
lakhansamani merged 1 commit into
mainfrom
chore/release-2.4.1

Conversation

@lakhansamani

Copy link
Copy Markdown
Contributor

CHANGELOG for the 2.4.1 security release (#788, #789), plus a correction to a 2.4.0 entry.

What is in 2.4.1

Issue Severity Affected
Admin-secret lockout bypass via spoofable client IP (GHSA-93hc-xq3w-xw87) critical >= 2.4.0-rc.16
Delegated token launders machine identity (GHSA-vq29-8q3c-3hrm) high 2.3.0-rc.10, >= 2.4.0-rc.0
required_relations evaluates a machine token as a user high 2.3.0-rc.10, >= 2.4.0-rc.0

The last one was found in adversarial review, is in neither report, and needs no delegation — a plain client_credentials token reaches it.

Corrected 2.4.0 entry

The A2A delegation bullet said "sub remains the user". That was never true of an agent→agent exchange, where the subject is the delegated service account — and that misstatement is precisely the invariant the delegation bug was built on. Reworded to name the subject correctly and to point at 2.4.1.

Migration note

--trusted-proxies now governs client-IP resolution everywhere, not just gin's rate limiter. A proxied deployment that never set it will see audit-log IPs and the admin-secret lockout collapse onto the proxy address. It was already load-bearing for rate limiting, so this makes resolution consistent — but it must now be set, and every hop must be listed (CDN and load balancer both). Startup warns when it is empty.

https://claude.ai/code/session_016dbRdiyrapnT7J3tAyZhdR

Security release notes for GHSA-93hc-xq3w-xw87 and GHSA-vq29-8q3c-3hrm,
plus the two same-class issues found while fixing them.

Also corrects the 2.4.0 A2A entry, which claimed "sub remains the user".
That was never true of an agent-to-agent exchange, where the subject is
the delegated service account — the misstatement is the invariant the
delegation bug was built on.

Carries the migration note for --trusted-proxies: it now governs client-IP
resolution everywhere, so a proxied deployment that never set it will see
audit IPs and the admin lockout collapse onto the proxy address.

Claude-Session: https://claude.ai/code/session_016dbRdiyrapnT7J3tAyZhdR
@lakhansamani
lakhansamani merged commit 0bceb94 into main Sep 3, 2026
3 checks passed
@lakhansamani
lakhansamani deleted the chore/release-2.4.1 branch September 3, 2026 11:47
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant