{"id":"CVE-2026-39984","revision":null,"records":[{"revision":"977bee7d26f94942a883570c303b7af9","observedAt":"2026-10-23T15:48:27.903+00:00","statement":{"source":"cve-program","id":"CVE-2026-39984","aliases":[],"title":"Sigstore Timestamp Authority has Improper Certificate Validation in verifier","description":"Sigstore Timestamp Authority is a service for issuing RFC 3161 timestamps. Versions 2.0.5 and below contain an authorization bypass vulnerability in the VerifyTimestampResponse function. VerifyTimestampResponse correctly verifies the certificate chain signature, but the TSA-specific constraint checks in VerifyLeafCert uses the first non-CA certificate from the PKCS#7 certificate bag instead of the leaf certificate from the verified chain. An attacker can exploit this by prepending a forged certificate to the certificate bag while the message is signed with an authorized key, causing the library to validate the signature against one certificate but perform authorization checks against another. This vulnerability only affects users of the timestamp-authority/v2/pkg/verification package and does not affect the timestamp-authority service itself or sigstore-go. The issue has been fixed in version 2.0.6.","state":0,"publishedAt":"2026-04-14T23:41:47.909+00:00","modifiedAt":"2026-04-16T14:00:55.081+00:00","affected":[{"ecosystem":"Vendor product","name":"timestamp-authority","ranges":[],"versions":[],"rawVersionEvidence":"{\n                    \"vendor\": \"sigstore\",\n                    \"product\": \"timestamp-authority\",\n                    \"versions\": [\n                        {\n                            \"version\": \"< 2.0.6\",\n                            \"status\": \"affected\"\n                        }\n                    ]\n                }"}],"metrics":[{"system":"CVSS 3.1","vector":"CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:N/I:H/A:N","score":5.5,"severity":"MEDIUM"}],"references":["https://github.com/sigstore/timestamp-authority/security/advisories/GHSA-xm5m-wgh2-rrg3","https://github.com/sigstore/timestamp-authority/releases/tag/v2.0.6"],"sourceUrl":"https://www.cve.org/CVERecord?id=CVE-2026-39984","license":"CVE Program Terms of Use","key":"cve-program:CVE-2026-39984","identifiers":["CVE-2026-39984"]},"retained":false,"historicalAffected":[]},{"revision":"908039e8cba84b19836d523e3f0f9134","observedAt":"2026-10-28T05:00:34.638+00:00","statement":{"source":"euvd","id":"EUVD-2026-22813","aliases":["CVE-2026-39984","GHSA-xm5m-wgh2-rrg3"],"title":"Sigstore Timestamp Authority is a service for issuing RFC 3161 timestamps. Versions 2.0.5 and below contain an authorization bypass vulnerability in the VerifyTimestampResponse function. VerifyTimestampResponse correctly verifies the certif…","description":"Sigstore Timestamp Authority is a service for issuing RFC 3161 timestamps. Versions 2.0.5 and below contain an authorization bypass vulnerability in the VerifyTimestampResponse function. VerifyTimestampResponse correctly verifies the certificate chain signature, but the TSA-specific constraint checks in VerifyLeafCert uses the first non-CA certificate from the PKCS#7 certificate bag instead of the leaf certificate from the verified chain. An attacker can exploit this by prepending a forged certificate to the certificate bag while the message is signed with an authorized key, causing the library to validate the signature against one certificate but perform authorization checks against another. This vulnerability only affects users of the timestamp-authority/v2/pkg/verification package and does not affect the timestamp-authority service itself or sigstore-go. The issue has been fixed in version 2.0.6.","state":0,"publishedAt":null,"modifiedAt":null,"affected":[],"metrics":[{"system":"EUVD CVSS 3.1","vector":"CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:N/I:H/A:N","score":5.5,"severity":null}],"references":["https://github.com/sigstore/timestamp-authority/security/advisories/GHSA-xm5m-wgh2-rrg3","https://github.com/sigstore/timestamp-authority/releases/tag/v2.0.6"],"sourceUrl":"https://euvd.enisa.europa.eu/vulnerability/EUVD-2026-22813","license":"ENISA EUVD · source terms and attribution apply","enrichment":{"sourceStatus":null,"weaknesses":[],"productCriteria":[],"sourceDates":{"datePublished":"Apr 14, 2026, 11:41:47 PM","dateUpdated":"Apr 16, 2026, 2:00:55 PM"},"relatedAdvisories":[{"id":"SUSE-SU-2026:22456-1","title":"Security update for docker","vulnerabilityIds":["CVE-2026-33814","CVE-2026-39821","CVE-2026-39984","CVE-2026-41567"]},{"id":"openSUSE-SU-2026:10651-1","title":"trivy-0.70.0-1.1 on GA media","vulnerabilityIds":["CVE-2025-69725","CVE-2026-25934","CVE-2026-33186","CVE-2026-33747","CVE-2026-33748","CVE-2026-34986","CVE-2026-39984"]},{"id":"openSUSE-SU-2026:10702-1","title":"hauler-1.4.3-1.1 on GA media","vulnerabilityIds":["CVE-2026-34986","CVE-2026-39984"]},{"id":"openSUSE-SU-2026:20711-1","title":"Security update for hauler","vulnerabilityIds":["CVE-2026-34986","CVE-2026-39984"]},{"id":"openSUSE-SU-2026:21060-1","title":"Security update for docker","vulnerabilityIds":["CVE-2026-33814","CVE-2026-39821","CVE-2026-39984","CVE-2026-41567"]},{"id":"openSUSE-SU-2026:11144-1","title":"docker-29.4.0_ce-40.1 on GA media","vulnerabilityIds":["CVE-2026-33814","CVE-2026-39821","CVE-2026-39984","CVE-2026-41567"]},{"id":"WID-SEC-W-2026-3046","title":"IBM Concert: Mehrere Schwachstellen","vulnerabilityIds":["CVE-2019-19921","CVE-2021-23337","CVE-2024-3651","CVE-2024-39338","CVE-2024-45590","CVE-2025-13465","CVE-2025-15284","CVE-2025-15599","CVE-2025-22874","CVE-2025-47273","CVE-2025-47907","CVE-2025-52881","CVE-2025-53643","CVE-2025-55184","CVE-2025-58056","CVE-2025-58188","CVE-2025-58189","CVE-2025-61723","CVE-2025-61730","CVE-2025-64649","CVE-2025-64756","CVE-2025-67221","CVE-2025-68121","CVE-2025-68146","CVE-2026-0540","CVE-2026-2327","CVE-2026-23490","CVE-2026-23897","CVE-2026-2391","CVE-2026-23949","CVE-2026-24486","CVE-2026-25528","CVE-2026-25547","CVE-2026-25639","CVE-2026-25990","CVE-2026-26007","CVE-2026-26019","CVE-2026-26996","CVE-2026-27142","CVE-2026-27212","CVE-2026-27699","CVE-2026-27903","CVE-2026-27904","CVE-2026-28684","CVE-2026-29063","CVE-2026-29181","CVE-2026-2950","CVE-2026-31808","CVE-2026-31900","CVE-2026-32274","CVE-2026-32288","CVE-2026-32597","CVE-2026-32630","CVE-2026-32887","CVE-2026-32952","CVE-2026-33186","CVE-2026-33532","CVE-2026-33750","CVE-2026-33814","CVE-2026-33816","CVE-2026-33916","CVE-2026-34043","CVE-2026-34073","CVE-2026-34077","CVE-2026-3520","CVE-2026-35469","CVE-2026-35515","CVE-2026-3627","CVE-2026-39823","CVE-2026-39825","CVE-2026-39826","CVE-2026-39892","CVE-2026-39984","CVE-2026-40175","CVE-2026-40179","CVE-2026-40181","CVE-2026-40190","CVE-2026-40347","CVE-2026-41066","CVE-2026-41182","CVE-2026-41238","CVE-2026-41239","CVE-2026-41240","CVE-2026-41305","CVE-2026-41324","CVE-2026-41425","CVE-2026-41481","CVE-2026-41488","CVE-2026-41602","CVE-2026-41636","CVE-2026-42151","CVE-2026-42154","CVE-2026-42198","CVE-2026-42211","CVE-2026-42338","CVE-2026-42342","CVE-2026-42561","CVE-2026-42577","CVE-2026-43870","CVE-2026-44405","CVE-2026-44431","CVE-2026-44432","CVE-2026-44486","CVE-2026-44487","CVE-2026-44488","CVE-2026-44492","CVE-2026-44494","CVE-2026-44496","CVE-2026-44728","CVE-2026-4539","CVE-2026-45409","CVE-2026-45736","CVE-2026-46625","CVE-2026-4800","CVE-2026-4923","CVE-2026-4926","CVE-2026-7246","CVE-2026-8723"]},{"id":"SUSE-SU-2026:22285-1","title":"Security update for docker","vulnerabilityIds":["CVE-2026-33814","CVE-2026-39821","CVE-2026-39984","CVE-2026-41567"]},{"id":"SUSE-SU-2026:22367-1","title":"Security update for docker","vulnerabilityIds":["CVE-2026-33814","CVE-2026-39821","CVE-2026-39984","CVE-2026-41567"]},{"id":"openSUSE-SU-2026:20809-1","title":"Security update for trivy","vulnerabilityIds":["CVE-2025-64702","CVE-2025-69725","CVE-2026-25934","CVE-2026-33186","CVE-2026-33747","CVE-2026-33748","CVE-2026-34986","CVE-2026-39984","CVE-2026-41506"]},{"id":"SUSE-SU-2026:22513-1","title":"Security update for docker","vulnerabilityIds":["CVE-2026-33814","CVE-2026-39821","CVE-2026-39984","CVE-2026-41567"]}],"note":"EUVD source date text has no stated timezone and is retained without inventing a UTC instant. Related bulletin membership is not an alias, common cause or applicability claim. A missing vector with a zero score is treated as unrated. Complete vendor/product and underlying source evidence remains in the original JSON."},"key":"euvd:EUVD-2026-22813","identifiers":["EUVD-2026-22813","CVE-2026-39984","GHSA-xm5m-wgh2-rrg3"]},"retained":false,"historicalAffected":[]},{"revision":"23d731c353704f0a99e854741af3864e","observedAt":"2026-10-27T10:09:56.341+00:00","statement":{"source":"nvd","id":"CVE-2026-39984","aliases":[],"title":"Sigstore Timestamp Authority is a service for issuing RFC 3161 timestamps. Versions 2.0.5 and below contain an authorization bypass vulnerability in the VerifyTimestampResponse function. VerifyTimestampResponse correctly verifies the certif…","description":"Sigstore Timestamp Authority is a service for issuing RFC 3161 timestamps. Versions 2.0.5 and below contain an authorization bypass vulnerability in the VerifyTimestampResponse function. VerifyTimestampResponse correctly verifies the certificate chain signature, but the TSA-specific constraint checks in VerifyLeafCert uses the first non-CA certificate from the PKCS#7 certificate bag instead of the leaf certificate from the verified chain. An attacker can exploit this by prepending a forged certificate to the certificate bag while the message is signed with an authorized key, causing the library to validate the signature against one certificate but perform authorization checks against another. This vulnerability only affects users of the timestamp-authority/v2/pkg/verification package and does not affect the timestamp-authority service itself or sigstore-go. The issue has been fixed in version 2.0.6.","state":0,"publishedAt":"2026-04-15T04:17:40.203+00:00","modifiedAt":"2026-10-26T21:10:00.17+00:00","affected":[],"metrics":[{"system":"CVSS 3.1 · security-advisories@github.com · Secondary","vector":"CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:N/I:H/A:N","score":5.5,"severity":"MEDIUM"}],"references":["https://github.com/sigstore/timestamp-authority/releases/tag/v2.0.6","https://github.com/sigstore/timestamp-authority/security/advisories/GHSA-xm5m-wgh2-rrg3"],"sourceUrl":"https://nvd.nist.gov/vuln/detail/CVE-2026-39984","license":"NIST NVD usage terms; underlying source attribution retained","enrichment":{"sourceStatus":"Analyzed","weaknesses":["CWE-295"],"productCriteria":["cpe:2.3:a:linuxfoundation:sigstore_timestamp_authority:*:*:*:*:*:*:*:*"],"sourceDates":{"published":"2026-04-15T04:17:40.203","lastModified":"2026-10-26T21:10:00.170"},"relatedAdvisories":[],"note":"NVD analysis and CPE criteria are source context, not proof that a package or your environment is affected. Complete affected data, logical configurations and SSVC are retained in the original JSON."},"key":"nvd:CVE-2026-39984","identifiers":["CVE-2026-39984"]},"retained":false,"historicalAffected":[]},{"revision":"c65ba8a912f94943aeb99589c3ef3036","observedAt":"2026-10-24T13:19:41.952+00:00","statement":{"source":"osv","id":"GHSA-xm5m-wgh2-rrg3","aliases":["CVE-2026-39984","GO-2026-5763"],"title":"Sigstore Timestamp Authority has Improper Certificate Validation in verifier","description":"### Authorization bypass via certificate bag manipulation in sigstore/timestamp-authority verifier\n\nAn authorization bypass vulnerability exists in sigstore/timestamp-authority verifier (timestamp-authority/v2/pkg/verification): `VerifyTimestampResponse` function correctly verifies the certificate chain but when the TSA specific constraints are verified in `VerifyLeafCert`, the first non-CA certificate from the PKCS#7 certificate bag is used instead of the leaf certificate from the certificate chain. An attacker can exploit this by prepending a forged certificate to the certificate bag while the message is signed with an authorized key. The library validates the signature using the one certificate but performs authorization checks on the another, allowing an attacker to bypass some authorization controls. \n\nThis vulnerability does **not** apply to timestamp-authority service, only to users of `timestamp-authority/v2/pkg/verification` package.\n\nThis vulnerability does **not** apply to sigstore-go even though it is a user of `timestamp-authority/v2/pkg/verification`: Providing `TSACertificate` option to  `VerifyTimestampResponse` fully mitigates the issue.\n\n\n### Patches\n\nThe issue will be fixed in timestamp-authority 2.0.6\n\n### Workarounds\n\nUsers of `VerifyTimestampResponse` can use the `TSACertificate` option to specify the exact certificate they expect to be used: this fully mitigates the issue.\n\n### References\n\nThis issue was found after reading CVE-2026-33753 / GHSA-3xxc-pwj6-jgrj (originally reported by @Jaynornj and @Pr00fOf3xpl0it)","state":0,"publishedAt":"2026-04-14T01:01:59+00:00","modifiedAt":"2026-09-10T03:50:44.8955168+00:00","affected":[{"ecosystem":"Go","name":"github.com/sigstore/timestamp-authority/v2","ranges":[{"type":"SEMVER","events":[{"kind":"introduced","version":"0"},{"kind":"fixed","version":"2.0.6"}]}],"versions":[],"rawVersionEvidence":null}],"metrics":[{"system":"CVSS_V3","vector":"CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:N/I:H/A:N","score":null,"severity":null},{"system":"Publisher rating","vector":null,"score":null,"severity":"MODERATE"}],"references":["https://github.com/sigstore/timestamp-authority/security/advisories/GHSA-xm5m-wgh2-rrg3","https://nvd.nist.gov/vuln/detail/CVE-2026-39984","https://github.com/sigstore/timestamp-authority","https://github.com/sigstore/timestamp-authority/releases/tag/v2.0.6"],"sourceUrl":"https://github.com/advisories/GHSA-xm5m-wgh2-rrg3","license":"GitHub Advisory Database · CC-BY-4.0","key":"osv:GHSA-xm5m-wgh2-rrg3","identifiers":["GHSA-xm5m-wgh2-rrg3","CVE-2026-39984","GO-2026-5763"]},"retained":false,"historicalAffected":[]},{"revision":"a83dc6349d4b4bf59ea7d0cd613a62d5","observedAt":"2026-10-24T13:19:41.952+00:00","statement":{"source":"osv","id":"GO-2026-5763","aliases":["CVE-2026-39984","GHSA-xm5m-wgh2-rrg3"],"title":"Sigstore Timestamp Authority has Improper Certificate Validation in verifier in github.com/sigstore/timestamp-authority","description":"Sigstore Timestamp Authority has Improper Certificate Validation in verifier in github.com/sigstore/timestamp-authority","state":0,"publishedAt":"2026-06-25T22:34:41+00:00","modifiedAt":"2026-06-26T15:44:23.0643961+00:00","affected":[{"ecosystem":"Go","name":"github.com/sigstore/timestamp-authority","ranges":[{"type":"SEMVER","events":[{"kind":"introduced","version":"0"}]}],"versions":[],"rawVersionEvidence":null},{"ecosystem":"Go","name":"github.com/sigstore/timestamp-authority/v2","ranges":[{"type":"SEMVER","events":[{"kind":"introduced","version":"0"},{"kind":"fixed","version":"2.0.6"}]}],"versions":[],"rawVersionEvidence":null}],"metrics":[],"references":["https://github.com/sigstore/timestamp-authority/security/advisories/GHSA-xm5m-wgh2-rrg3","https://nvd.nist.gov/vuln/detail/CVE-2026-39984","https://github.com/sigstore/timestamp-authority/releases/tag/v2.0.6"],"sourceUrl":"https://osv.dev/vulnerability/GO-2026-5763","license":"OSV · upstream source license applies","key":"osv:GO-2026-5763","identifiers":["GO-2026-5763","CVE-2026-39984","GHSA-xm5m-wgh2-rrg3"]},"retained":false,"historicalAffected":[]}],"coverage":[{"source":"cisa-kev:global","scope":"Complete CISA KEV catalog; all vendors. Missing entries do not establish absence of exploitation.","generation":"2026-10-29T23:49:06.1350665+00:00","complete":true,"records":1764,"lastAttemptAt":"2026-10-29T23:49:06.1350665+00:00","lastSuccessAt":"2026-10-29T23:49:06.2844873+00:00","error":null,"lastVerifiedAt":"2026-10-29T23:49:06.2844884+00:00","snapshotPublishedAt":null,"importing":false,"stagedRecords":0,"checkedIdentifiers":null,"expectedIdentifiers":null,"failedIdentifiers":null},{"source":"cve-program","scope":"Official CVE Program baseline and cumulative hourly delta; all vendors, published and rejected records","generation":"cve-b1f3f808444d5ea9fdb7335a1abbcb8866c29481d9b152338762db9defc61d11-c8144dbcf1ff013ccd59a33c49a55e7bff2163114eaa4f41ce2f01d909d79dd7","complete":true,"records":416807,"lastAttemptAt":"2026-10-29T23:49:05.5749469+00:00","lastSuccessAt":"2026-10-29T23:49:05.3696065+00:00","error":null,"lastVerifiedAt":"2026-10-29T23:49:05.5749469+00:00","snapshotPublishedAt":"2026-10-29T23:27:08+00:00","importing":false,"stagedRecords":0,"checkedIdentifiers":null,"expectedIdentifiers":null,"failedIdentifiers":null},{"source":"euvd","scope":"Rolling EUVD lookups of CVE aliases in current public OSV archives; 500 identifiers per refresh, rechecked after 48 hours. Not a global EUVD catalog. Successful not-found lookups count as checked; they do not imply withdrawal or safety. No reader inventory is sent.","generation":"enrichment-a2c37958e6754551b22e3a8f19518225","complete":false,"records":13504,"lastAttemptAt":"2026-10-29T23:59:28.8844256+00:00","lastSuccessAt":"2026-10-29T23:59:28.88+00:00","error":"6 identifier lookups failed; latest failures include HTTP 403. Other identifiers were checked independently.","lastVerifiedAt":"2026-10-29T23:59:28.88+00:00","snapshotPublishedAt":null,"importing":false,"stagedRecords":0,"checkedIdentifiers":13164,"expectedIdentifiers":13587,"failedIdentifiers":6},{"source":"first-epss:nuget","scope":"FIRST EPSS for explicit CVE aliases in the collected public NuGet archive. Not a global EPSS backfill.","generation":"2026-10-29T23:49:06.1350665+00:00","complete":true,"records":1094,"lastAttemptAt":"2026-10-29T23:49:06.1350665+00:00","lastSuccessAt":"2026-10-29T23:49:06.2857841+00:00","error":null,"lastVerifiedAt":"2026-10-29T23:49:06.2857847+00:00","snapshotPublishedAt":null,"importing":false,"stagedRecords":0,"checkedIdentifiers":null,"expectedIdentifiers":null,"failedIdentifiers":null},{"source":"nvd","scope":"Rolling NVD lookups of CVE aliases in current public OSV archives; 500 identifiers per refresh, rechecked after 48 hours. Not a global NVD catalog. Successful not-found lookups count as checked; they do not imply withdrawal or safety. No reader inventory is sent.","generation":"enrichment-c39f89b50d5243318487ad216daf7ffb","complete":true,"records":13527,"lastAttemptAt":"2026-10-29T23:49:08.5500965+00:00","lastSuccessAt":"2026-10-29T22:50:37.74+00:00","error":null,"lastVerifiedAt":"2026-10-29T22:50:37.74+00:00","snapshotPublishedAt":null,"importing":false,"stagedRecords":0,"checkedIdentifiers":13587,"expectedIdentifiers":13587,"failedIdentifiers":0},{"source":"osv:Go","scope":"Complete OSV Go ecosystem archive, including withdrawn and malicious-package source records; statement counts are not unique CVE counts","generation":"go-9016081e9e88f5929902343d85df87c5c4a1486b10ab07bc6c4f53f98f358871","complete":true,"records":9806,"lastAttemptAt":"2026-10-29T23:49:05.9178443+00:00","lastSuccessAt":"2026-10-29T17:17:25.9359141+00:00","error":null,"lastVerifiedAt":"2026-10-29T23:49:05.9178443+00:00","snapshotPublishedAt":"2026-10-29T16:48:29+00:00","importing":false,"stagedRecords":0,"checkedIdentifiers":null,"expectedIdentifiers":null,"failedIdentifiers":null},{"source":"osv:NuGet","scope":"Complete OSV NuGet ecosystem archive, including GitHub Advisory Database records; NuGet version matching only","generation":"nuget-2de9ccc5290f060c7aa63f89c25dd76f655a64ba1aba7c05c97fa3bee4f09899","complete":true,"records":1967,"lastAttemptAt":"2026-10-29T23:49:05.6341308+00:00","lastSuccessAt":"2026-10-28T20:55:34.2982937+00:00","error":null,"lastVerifiedAt":"2026-10-29T23:49:05.6341308+00:00","snapshotPublishedAt":"2026-10-28T20:03:08+00:00","importing":false,"stagedRecords":0,"checkedIdentifiers":null,"expectedIdentifiers":null,"failedIdentifiers":null},{"source":"osv:crates.io","scope":"Complete OSV crates.io ecosystem archive, including withdrawn and malicious-package source records; statement counts are not unique CVE counts","generation":"crates.io-88b10711e708187a55cc7c2190d0fa202709e42b9f2b044668b7ee55f396c732","complete":true,"records":3014,"lastAttemptAt":"2026-10-29T23:49:06.0257211+00:00","lastSuccessAt":"2026-10-29T18:29:26.4063617+00:00","error":null,"lastVerifiedAt":"2026-10-29T23:49:06.0257211+00:00","snapshotPublishedAt":"2026-10-29T17:35:12+00:00","importing":false,"stagedRecords":0,"checkedIdentifiers":null,"expectedIdentifiers":null,"failedIdentifiers":null},{"source":"osv:npm","scope":"Complete OSV npm ecosystem archive, including withdrawn and malicious-package source records; statement counts are not unique CVE counts","generation":"npm-ec5b13e78c39945726a720832da7660d2774969f16e2a34f99460c135811abd5","complete":true,"records":230948,"lastAttemptAt":"2026-10-29T23:49:05.8091746+00:00","lastSuccessAt":"2026-10-29T22:50:35.0693267+00:00","error":null,"lastVerifiedAt":"2026-10-29T23:49:05.8091746+00:00","snapshotPublishedAt":"2026-10-29T22:33:13+00:00","importing":false,"stagedRecords":0,"checkedIdentifiers":null,"expectedIdentifiers":null,"failedIdentifiers":null}]}