• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

stacklok / toolhive / 41342839142
73%

Build:
DEFAULT BRANCH: main
Ran 01 Nov 2026 07:48PM UTC
Jobs 1
Files 991
Run time 1min
Badge
Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

01 Nov 2026 07:39PM UTC coverage: 72.305% (+0.07%) from 72.236%
41342839142

push

github

web-flow
Move authserver JWK parsing to go-jose v4 (#7012)

* Move authserver JWK parsing to go-jose v4

go-jose v3 validates RSA keys embedded in JWKs without bounding their
size (GHSA-mgcc-cww5-fp2q) and has no patched release. Parse keys with
go-jose v4.1.6 everywhere ToolHive owns the parsing, copying parsed keys
field by field into the v3 types fosite v0.49.0 still requires.

fosite itself parses client assertions and OIDC request objects with v3
before looking up a client, so refuse any such JWT whose header embeds
a jwk, or that is not a compact JWS, before fosite sees it. fosite never
uses an embedded key, so conforming clients are unaffected.

Raise go-jose's new 4096-bit RSA parse limit to our existing 8192-bit
policy so registered clients keep loading, and decode a stored Redis
key set separately so one that go-jose rejects still answers
invalid_client instead of failing the whole row.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* Check request objects before client lookup

Rejecting an unsafe request object after the back-channel-only client
check answered differently for configured and unknown clients, which
revealed whether a back-channel client exists. The check does not depend
on the client, so it now runs first.

Also pin that go-jose's RSA parse limit matches MaxRSAKeyBits, so client
keys above go-jose's 4096-bit default keep decoding.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

---------

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>

118 of 122 new or added lines in 9 files covered. (96.72%)

3 existing lines in 1 file now uncovered.

91751 of 126894 relevant lines covered (72.31%)

133.06 hits per line

Uncovered Changes

Lines Coverage ∆ File
2
94.74
pkg/authserver/internal/fositejose/fositejose.go
2
91.54
-0.22% pkg/authserver/server/handlers/authorize.go

Coverage Regressions

Lines Coverage ∆ File
3
64.29
-21.43% pkg/authserver/upstream/tokens.go
Jobs
ID Job ID Ran Files Coverage
1 41342839142.1 01 Nov 2026 07:48PM UTC 991
72.31
GitHub Action Run
Source Files on build 41342839142
  • Tree
  • List 991
  • Changed 16
  • Source Changed 11
  • Coverage Changed 11
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • Github Actions Build #41342839142
  • a4aef633 on github
  • Prev Build on main (#41224163821)
  • Next Build on main (#41455809255)
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE TRIAL · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc