{"schema":"threatline.record/2","record":{"id":"CVE-2026-87004","aliases":["GHSA-crjc-6vc7-xrfh"],"summary":"Tugtainer: OIDC id_token claims accepted without signature/audience/expiry verification","details":"Tugtainer is a self-hosted app for automating updates of Docker containers. Prior to version 1.31.3, when the OIDC login flow completes, backend/modules/auth/providers/auth_oidc_provider.py decodes the id_token returned by the identity provider's token endpoint using jose.jwt.get_unverified_claims() instead of jwt.decode(). This skips signature verification, audience (aud) validation, issuer (iss) validation, and expiry (exp) checking entirely. The extracted claims (email/sub/preferred_username) are then used directly as the user_id for the resulting Tugtainer session. This issue has been patched in version 1.31.3.","categories":["Unclassified"],"product":"tugtainer","vendor":"Quenary","ecosystem":null,"affected_ranges":[{"source":"CVE List","source_url":"https://www.cve.org/CVERecord?id=CVE-2026-87004","source_modified_at":"2026-09-30T18:01:20.063Z","fetched_at":"2026-10-23T18:52:38.922436Z","product":"tugtainer","vendor":"Quenary","versions":[{"status":"affected","version":"< 1.31.3"}],"defaultStatus":null},{"source":"GitHub Advisory Database","source_url":"https://github.com/Quenary/tugtainer/security/advisories/GHSA-crjc-6vc7-xrfh","source_modified_at":"2026-09-09T19:36:54Z","fetched_at":"2026-10-23T21:47:51.402276Z","package":{"ecosystem":"dockerized software","name":"tugtainer"},"range":"<= 1.31.2"}],"fixed_versions":[],"cvss":8.1,"severity":"High","kev":{"listed":false},"epss":{"probability":0.00338,"percentile":0.26008,"score_date":"2026-10-23"},"published_at":"2026-09-30T17:01:24.963Z","modified_at":"2026-09-30T18:01:20.063Z","provenance":[{"source":"CVE List","url":"https://www.cve.org/CVERecord?id=CVE-2026-87004","fetched_at":"2026-10-23T18:52:38.922436Z","source_modified_at":"2026-09-30T18:01:20.063Z"},{"source":"GitHub Advisory Database","url":"https://github.com/Quenary/tugtainer/security/advisories/GHSA-crjc-6vc7-xrfh","fetched_at":"2026-10-23T21:47:51.402276Z","source_modified_at":"2026-09-09T19:36:54Z"},{"source":"EPSS","url":"https://api.first.org/data/v1/epss?cve=CVE-2026-87004","fetched_at":"2026-10-23T18:42:43.628194Z","source_modified_at":"2026-10-23"}],"sources":["CVE List","GitHub Advisory Database","EPSS"],"references":[{"source":"CVE List","url":"https://github.com/Quenary/tugtainer/security/advisories/GHSA-crjc-6vc7-xrfh","tags":["exploit"]},{"source":"CVE List","url":"https://github.com/Quenary/tugtainer/commit/b55269b6a3bfd43b0f2f5bd5f137ee0c81b7c2e4","tags":["x_refsource_MISC"]},{"source":"CVE List","url":"https://github.com/Quenary/tugtainer/releases/tag/v1.31.3","tags":["x_refsource_MISC"]}],"locations":[],"motoko_assessment":{"status":"requires_architecture_review","automatic_remediation":false},"cve_state":"PUBLISHED","cvss_source":"CVE List","ssvc":{"exploitation":"poc","automatable":"no","technical_impact":"total","assessed_at":"2026-09-30T18:00:13.050961Z"},"classification":{"method":"product-first software-layer rules","rules_version":"2.1","matched_on":null,"confidence":"unknown","reviewed":false},"change_timestamp":"2026-09-30T18:01:20.063Z","content_hash":"2714daf2b86288b7f9537a01df4541cf02f12492b51642bf128b666c7dd93941"}}
