{"api_version":"1","generated_at":"2026-10-22T07:50:45+00:00","cve":"CVE-2026-69212","urls":{"html":"https://cve.report/CVE-2026-69212","api":"https://cve.report/api/cve/CVE-2026-69212.json","docs":"https://cve.report/api","cve_org":"https://www.cve.org/CVERecord?id=CVE-2026-69212","nvd":"https://nvd.nist.gov/vuln/detail/CVE-2026-69212"},"summary":{"title":"Http4s: FollowRedirect middleware leaks credentials over https->http same-authority redirect","description":"Http4s is a Scala interface for HTTP services. Prior to 0.23.35 and 1.0.0-M47, The FollowRedirect client middleware strips Authorization and Cookie headers only when a redirect changes authority, but authority comparison excludes the URI scheme. A same-authority redirect from HTTPS to HTTP therefore preserves credentials and transmits them over a plaintext connection. An attacker who can induce the downgrade and observe the network can capture those sensitive headers from applications using FollowRedirect. This issue is fixed in versions 0.23.35 and 1.0.0-M47.","state":"PUBLISHED","assigner":"GitHub_M","published_at":"2026-09-15 19:17:38","updated_at":"2026-09-16 20:38:04"},"problem_types":["CWE-200","CWE-319","CWE-200 CWE-200: Exposure of Sensitive Information to an Unauthorized Actor","CWE-319 CWE-319: Cleartext Transmission of Sensitive Information"],"metrics":[{"version":"3.1","source":"security-advisories@github.com","type":"Secondary","score":"5.9","severity":"MEDIUM","vector":"CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:N/A:N","data":{"version":"3.1","vectorString":"CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:N/A:N","baseScore":5.9,"baseSeverity":"MEDIUM","attackVector":"NETWORK","attackComplexity":"HIGH","privilegesRequired":"NONE","userInteraction":"NONE","scope":"UNCHANGED","confidentialityImpact":"HIGH","integrityImpact":"NONE","availabilityImpact":"NONE"}},{"version":"3.1","source":"CNA","type":"DECLARED","score":"5.9","severity":"MEDIUM","vector":"CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:N/A:N","data":{"attackComplexity":"HIGH","attackVector":"NETWORK","availabilityImpact":"NONE","baseScore":5.9,"baseSeverity":"MEDIUM","confidentialityImpact":"HIGH","integrityImpact":"NONE","privilegesRequired":"NONE","scope":"UNCHANGED","userInteraction":"NONE","vectorString":"CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:N/A:N","version":"3.1"}}],"references":[{"url":"https://github.com/http4s/http4s/commit/6e825719b8d2f1538f2c49089c2dc81321a833b4","name":"https://github.com/http4s/http4s/commit/6e825719b8d2f1538f2c49089c2dc81321a833b4","refsource":"security-advisories@github.com","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://github.com/http4s/http4s/releases/tag/v1.0.0-M47","name":"https://github.com/http4s/http4s/releases/tag/v1.0.0-M47","refsource":"security-advisories@github.com","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://github.com/http4s/http4s/releases/tag/v0.23.35","name":"https://github.com/http4s/http4s/releases/tag/v0.23.35","refsource":"security-advisories@github.com","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://github.com/http4s/http4s/security/advisories/GHSA-2rgg-r783-mrx4","name":"https://github.com/http4s/http4s/security/advisories/GHSA-2rgg-r783-mrx4","refsource":"security-advisories@github.com","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://www.cve.org/CVERecord?id=CVE-2026-69212","name":"CVE Program record","refsource":"CVE.ORG","tags":["canonical"]},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2026-69212","name":"NVD vulnerability detail","refsource":"NVD","tags":["canonical","analysis"]}],"affected":[{"source":"CNA","vendor":"http4s","product":"http4s","version":"affected < 0.23.35","platforms":[]},{"source":"CNA","vendor":"http4s","product":"http4s","version":"affected >= 1.0.0-M1, < 1.0.0-M47","platforms":[]}],"timeline":[],"solutions":[],"workarounds":[],"exploits":[],"credits":[],"nvd_cpes":[],"vendor_comments":[],"enrichments":{"kev":null,"epss":{"cve_year":"2026","cve_id":"69212","cve":"CVE-2026-69212","epss":"0.002350000","percentile":"0.146600000","score_date":"2026-09-16","updated_at":"2026-09-17 00:07:15"},"legacy_qids":[]},"source_records":{"cve_program":{"containers":{"adp":[{"metrics":[{"other":{"content":{"id":"CVE-2026-69212","options":[{"Exploitation":"none"},{"Automatable":"no"},{"Technical Impact":"partial"}],"role":"CISA Coordinator","timestamp":"2026-09-15T19:30:31.142631Z","version":"2.0.3"},"type":"ssvc"}}],"providerMetadata":{"dateUpdated":"2026-09-15T19:30:41.069Z","orgId":"134c704f-9b21-4f2e-91b3-4a467353bcc0","shortName":"CISA-ADP"},"title":"CISA ADP Vulnrichment"}],"cna":{"affected":[{"product":"http4s","vendor":"http4s","versions":[{"status":"affected","version":"< 0.23.35"},{"status":"affected","version":">= 1.0.0-M1, < 1.0.0-M47"}]}],"descriptions":[{"lang":"en","value":"Http4s is a Scala interface for HTTP services. Prior to 0.23.35 and 1.0.0-M47, The FollowRedirect client middleware strips Authorization and Cookie headers only when a redirect changes authority, but authority comparison excludes the URI scheme. A same-authority redirect from HTTPS to HTTP therefore preserves credentials and transmits them over a plaintext connection. An attacker who can induce the downgrade and observe the network can capture those sensitive headers from applications using FollowRedirect. This issue is fixed in versions 0.23.35 and 1.0.0-M47."}],"metrics":[{"cvssV3_1":{"attackComplexity":"HIGH","attackVector":"NETWORK","availabilityImpact":"NONE","baseScore":5.9,"baseSeverity":"MEDIUM","confidentialityImpact":"HIGH","integrityImpact":"NONE","privilegesRequired":"NONE","scope":"UNCHANGED","userInteraction":"NONE","vectorString":"CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:N/A:N","version":"3.1"}}],"problemTypes":[{"descriptions":[{"cweId":"CWE-200","description":"CWE-200: Exposure of Sensitive Information to an Unauthorized Actor","lang":"en","type":"CWE"}]},{"descriptions":[{"cweId":"CWE-319","description":"CWE-319: Cleartext Transmission of Sensitive Information","lang":"en","type":"CWE"}]}],"providerMetadata":{"dateUpdated":"2026-09-15T19:09:57.168Z","orgId":"a0819718-46f1-4df5-94e2-005712e83aaa","shortName":"GitHub_M"},"references":[{"name":"https://github.com/http4s/http4s/security/advisories/GHSA-2rgg-r783-mrx4","tags":["x_refsource_CONFIRM"],"url":"https://github.com/http4s/http4s/security/advisories/GHSA-2rgg-r783-mrx4"},{"name":"https://github.com/http4s/http4s/commit/6e825719b8d2f1538f2c49089c2dc81321a833b4","tags":["x_refsource_MISC"],"url":"https://github.com/http4s/http4s/commit/6e825719b8d2f1538f2c49089c2dc81321a833b4"},{"name":"https://github.com/http4s/http4s/releases/tag/v0.23.35","tags":["x_refsource_MISC"],"url":"https://github.com/http4s/http4s/releases/tag/v0.23.35"},{"name":"https://github.com/http4s/http4s/releases/tag/v1.0.0-M47","tags":["x_refsource_MISC"],"url":"https://github.com/http4s/http4s/releases/tag/v1.0.0-M47"}],"source":{"advisory":"GHSA-2rgg-r783-mrx4","discovery":"UNKNOWN"},"title":"Http4s: FollowRedirect middleware leaks credentials over https->http same-authority redirect"}},"cveMetadata":{"assignerOrgId":"a0819718-46f1-4df5-94e2-005712e83aaa","assignerShortName":"GitHub_M","cveId":"CVE-2026-69212","datePublished":"2026-09-15T19:09:57.168Z","dateReserved":"2026-08-03T16:57:50.124Z","dateUpdated":"2026-09-15T19:30:41.069Z","state":"PUBLISHED"},"dataType":"CVE_RECORD","dataVersion":"5.2"},"nvd":{"publishedDate":"2026-09-15 19:17:38","lastModifiedDate":"2026-09-16 20:38:04","problem_types":["CWE-200","CWE-319","CWE-200 CWE-200: Exposure of Sensitive Information to an Unauthorized Actor","CWE-319 CWE-319: Cleartext Transmission of Sensitive Information"],"metrics":{"cvssMetricV31":[{"source":"security-advisories@github.com","type":"Secondary","cvssData":{"version":"3.1","vectorString":"CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:N/A:N","baseScore":5.9,"baseSeverity":"MEDIUM","attackVector":"NETWORK","attackComplexity":"HIGH","privilegesRequired":"NONE","userInteraction":"NONE","scope":"UNCHANGED","confidentialityImpact":"HIGH","integrityImpact":"NONE","availabilityImpact":"NONE"},"exploitabilityScore":2.2,"impactScore":3.6}],"ssvcV203":[{"source":"134c704f-9b21-4f2e-91b3-4a467353bcc0","ssvcData":{"timestamp":"2026-09-15T19:30:31.142631Z","id":"CVE-2026-69212","options":[{"exploitation":"none"},{"automatable":"no"},{"technicalImpact":"partial"}],"role":"CISA Coordinator","version":"2.0.3"}}]},"configurations":[]},"legacy_mitre":{"record":{"CveYear":"2026","CveId":"69212","Ordinal":"1","Title":"Http4s: FollowRedirect middleware leaks credentials over https->","CVE":"CVE-2026-69212","Year":"2026"},"notes":[{"CveYear":"2026","CveId":"69212","Ordinal":"1","NoteData":"Http4s is a Scala interface for HTTP services. Prior to 0.23.35 and 1.0.0-M47, The FollowRedirect client middleware strips Authorization and Cookie headers only when a redirect changes authority, but authority comparison excludes the URI scheme. A same-authority redirect from HTTPS to HTTP therefore preserves credentials and transmits them over a plaintext connection. An attacker who can induce the downgrade and observe the network can capture those sensitive headers from applications using FollowRedirect. This issue is fixed in versions 0.23.35 and 1.0.0-M47.","Type":"Description","Title":"Http4s: FollowRedirect middleware leaks credentials over https->"}]}}}