{"id":"CVE-2025-71381","state":"PUBLISHED","title":"Hono - Vary Header Injection in CORS Middleware","description":"Hono before 4.10.3 contains a flaw in its CORS middleware: when the origin is not set to \"*\", the middleware copies the Vary header from the incoming request into the response. Because Vary is a response header that should be managed by the server, an attacker can supply arbitrary Vary values that are reflected into the response, potentially causing cache key pollution and inconsistent CORS enforcement in environments that rely on shared caches or proxies.","publishedAt":"2026-06-30T22:08:21.523Z","updatedAt":"2026-10-29T21:15:18.744Z","severity":{"score":6.9,"label":"Medium","version":"4.0","vector":"CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:L/VI:L/VA:N/SC:N/SI:N/SA:N","source":"VulnCheck"},"assigner":"VulnCheck","products":["Hono Hono"],"affected":[{"vendor":"Hono","product":"Hono","packageURL":"pkg:npm/hono","defaultStatus":"unaffected","versions":[{"version":"0","status":"affected","lessThan":"4.10.3","versionType":"semver"},{"version":"4.10.3","status":"unaffected","versionType":"semver"}]}],"references":["https://github.com/honojs/hono/security/advisories/GHSA-q7jf-gf43-6x6p","https://www.vulncheck.com/advisories/hono-vary-header-injection-in-cors-middleware"],"weaknesses":["CWE-113"],"ingestedAt":"2026-10-29T23:08:31.977Z","source":{"repository":"CVEProject/cvelistV5","path":"cves/2025/71xxx/CVE-2025-71381.json","commit":"dc7676b3f67d6707e4927968546e7e0125ff7ec7","baselineCommit":"556c9d3a8cd17e218bb8e452ba7cd619a384ff47"},"raw":{"dataType":"CVE_RECORD","dataVersion":"5.2","cveMetadata":{"cveId":"CVE-2025-71381","state":"PUBLISHED","datePublished":"2026-06-30T22:08:21.523Z","dateUpdated":"2026-10-29T21:15:18.744Z","assignerShortName":"VulnCheck","assignerOrgId":"83251b91-4cc7-4094-a5c7-464a1b83ea10","dateReserved":"2026-06-20T13:11:44.728Z"},"containers":{"cna":{"title":"Hono - Vary Header Injection in CORS Middleware","descriptions":[{"lang":"en","value":"Hono before 4.10.3 contains a flaw in its CORS middleware: when the origin is not set to \"*\", the middleware copies the Vary header from the incoming request into the response. Because Vary is a response header that should be managed by the server, an attacker can supply arbitrary Vary values that are reflected into the response, potentially causing cache key pollution and inconsistent CORS enforcement in environments that rely on shared caches or proxies."}],"affected":[{"vendor":"Hono","product":"Hono","packageURL":"pkg:npm/hono","defaultStatus":"unaffected","versions":[{"version":"0","status":"affected","lessThan":"4.10.3","versionType":"semver"},{"version":"4.10.3","status":"unaffected","versionType":"semver"}]}],"references":[{"url":"https://github.com/honojs/hono/security/advisories/GHSA-q7jf-gf43-6x6p","name":"GitHub Security Advisory (GHSA-q7jf-gf43-6x6p)","tags":["vendor-advisory"]},{"url":"https://www.vulncheck.com/advisories/hono-vary-header-injection-in-cors-middleware","name":"VulnCheck Advisory: Hono - Vary Header Injection in CORS Middleware","tags":["third-party-advisory"]}],"metrics":[{"format":"CVSS","cvssV4_0":{"version":"4.0","vectorString":"CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:L/VI:L/VA:N/SC:N/SI:N/SA:N","attackVector":"NETWORK","attackComplexity":"LOW","attackRequirements":"NONE","privilegesRequired":"NONE","userInteraction":"NONE","vulnConfidentialityImpact":"LOW","vulnIntegrityImpact":"LOW","vulnAvailabilityImpact":"NONE","subConfidentialityImpact":"NONE","subIntegrityImpact":"NONE","subAvailabilityImpact":"NONE","baseScore":6.9,"baseSeverity":"MEDIUM"}},{"format":"CVSS","cvssV3_1":{"version":"3.1","vectorString":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:L/A:N","attackVector":"NETWORK","attackComplexity":"LOW","privilegesRequired":"NONE","userInteraction":"NONE","scope":"UNCHANGED","confidentialityImpact":"LOW","integrityImpact":"LOW","availabilityImpact":"NONE","baseScore":6.5,"baseSeverity":"MEDIUM"}}],"problemTypes":[{"descriptions":[{"cweId":"CWE-113","lang":"en","description":"Improper Neutralization of CRLF Sequences in HTTP Headers ('HTTP Request/Response Splitting')","type":"CWE"}]}],"providerMetadata":{"shortName":"VulnCheck","orgId":"83251b91-4cc7-4094-a5c7-464a1b83ea10","dateUpdated":"2026-10-29T21:15:18.744Z"},"datePublic":"2025-10-24T00:00:00.000Z","cpeApplicability":[{"nodes":[{"operator":"OR","negate":false,"cpeMatch":[{"vulnerable":true,"criteria":"cpe:2.3:a:hono:hono:*:*:*:*:*:node.js:*:*","versionEndExcluding":"4.10.3"}]}]}],"x_generator":{"engine":"vulncheck-endgame"}},"adp":[{"title":"CISA ADP Vulnrichment","metrics":[{"other":{"type":"ssvc","content":{"timestamp":"2026-07-01T13:19:11.943471Z","id":"CVE-2025-71381","options":[{"Exploitation":"none"},{"Automatable":"yes"},{"Technical Impact":"partial"}],"role":"CISA Coordinator","version":"2.0.3"}}}],"providerMetadata":{"shortName":"CISA-ADP","orgId":"134c704f-9b21-4f2e-91b3-4a467353bcc0","dateUpdated":"2026-07-01T13:19:21.892Z"}}]}}}