{"answers":{"affected":"2 open source packages ship an affected version, including quic.","exploited":"There is no known exploitation of CVE-2026-49457 in the wild and no public exploit code.","fix":"Upgrade quic to 1.4.4 or later.","what":"CVE-2026-49457 is a critical vulnerability in benoitc erlang_quic, published on 14 Aug 2026. An attacker can exploit it over the internet without logging in, with no action from the victim."},"fix_prompt":"Check this codebase for CVE-2026-49457 and fix it if it is affected.\n\nWhat it is: CVE-2026-49457 is a critical vulnerability in benoitc erlang_quic, published on 14 Aug 2026. An attacker can exploit it over the internet without logging in, with no action from the victim.\nExploitation: There is no known exploitation of CVE-2026-49457 in the wild and no public exploit code.\n\nAffected packages and fixed versions:\n- quic (Hex): affected all versions; fixed in 1.4.4\n- quic (Hex): affected all versions; fixed in 1.4.4\n\nTask:\n1. Search the dependency manifests and lockfiles (for example package.json, package-lock.json, requirements.txt, poetry.lock, uv.lock, pom.xml, build.gradle, go.mod, Cargo.lock, Gemfile.lock) and any Dockerfiles for the affected packages, including transitive dependencies.\n2. If an affected version is in use, upgrade it to the fixed version for its release line with the project's package manager, so the lockfile is regenerated. Prefer the smallest upgrade that fixes it.\n3. If there is no fix, or the upgrade would break the build, do not guess: explain the risk and the safest workaround instead.\n4. Run the tests and summarise what changed and why.\n5. If nothing in the project is affected, say so and change nothing.\n\nReference: https://insights.sbomify.com/CVE-2026-49457/ (Markdown: https://insights.sbomify.com/CVE-2026-49457/index.md)","id":"CVE-2026-49457","markdown":"https://insights.sbomify.com/CVE-2026-49457/index.md","name":"CVE-2026-49457","record":{"aliases":["GHSA-2r8v-p65x-3663"],"analysis":{"component_type":"library","fix_type":"upgrade","impacts":["data_read","data_modify"],"network_reachable":"yes","non_default_config":false,"product_category":"Erlang QUIC library","requires_auth":"none","summary":"A man-in-the-middle can impersonate servers because the Erlang QUIC client failed to validate TLS certificates, compromising connection confidentiality and integrity.","user_interaction":"not_required","vuln_class":"security_feature_bypass"},"analysis_generated_by":"qwen3.8-flash-next","assigner":"GitHub_M","cpe":[],"cvss":{"score":9.1,"severity":"critical","source":"cna","vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:N","version":"3.1"},"cwes":[{"id":"CWE-297","name":"Improper Validation of Certificate with Host Mismatch"},{"id":"CWE-295","name":"Improper Certificate Validation"}],"description":"erlang_quic is a pure Erlang QUIC implementation. Prior to version 1.4.4, the QUIC client did not authenticate the server during the TLS 1.3 handshake. The CertificateVerify signature was not checked, the certificate chain was not validated, and the hostname was not compared against the certificate, so `verify` was effectively a no-op on the client. A man-in-the-middle on the network path could present any certificate and impersonate any server, defeating the confidentiality and integrity of the connection. HTTP/3 uses the same client and was equally affected. Handshakes authenticated by a PSK (session resumption) are not affected, because the peer is authenticated by the PSK binder and no certificate is sent. This is fixed in 1.4.4. The client now verifies the CertificateVerify signature, validates the certificate chain against the trust store (`cacerts` option, the operating system store by default), and checks the hostname. Client `verify` now defaults to on; set `verify =\u003e false` to accept any certificate (for example a self-signed test server). No known workarounds are available before 1.4.4. `verify =\u003e true` had no effect, and inspecting the certificate after connecting does not help because without the signature check the peer is never proven to own the certificate it presents.","ecosystems":["Hex"],"exploits":{"exploitdb":0,"first_seen":null,"github_poc":0,"max_poc_stars":null,"metasploit":0,"nuclei":0,"refs":[],"tier":"none_known"},"has_fix":true,"headline":"QUIC has Broken TLS verification","id":"CVE-2026-49457","indexable":true,"kev":null,"kind":"cve","links":{"ecosystem":"Hex","product":null,"products":[],"type":"security_feature_bypass","year":"2026"},"n_packages":2,"n_references":1,"next":{"headline":"DOMPurify: Cross-realm IN_PLACE sanitization leaves executable markup intact via realm-bound `instanceof` checks","id":"CVE-2026-49458"},"packages":[{"ecosystem":"Hex","fixed":["1.4.4"],"introduced":["0"],"last_affected":[],"package":"quic","purl":null,"source":"GHSA-2r8v-p65x-3663"},{"ecosystem":"Hex","fixed":["1.4.4"],"introduced":["0"],"last_affected":[],"package":"quic","purl":"pkg:hex/quic","source":"GHSA-2r8v-p65x-3663"}],"prev":{"headline":"Waku: Open Redirect via `unstable_redirect` Helper","id":"CVE-2026-49456"},"products":["erlang_quic"],"published":"2026-08-14","related":[],"sources":[{"class":"attribution","licence":"CVE Terms of Use (MITRE)","name":"CVE List","prefix":"CVE"},{"class":"attribution","licence":"CC BY 4.0","name":"GitHub Advisory Database","prefix":"GHSA"},{"class":"attribution","licence":"CWE Terms of Use","name":"CWE (MITRE)"},{"class":"attribution","licence":"FIRST CVSS licence","name":"CVSS (FIRST)"}],"ssvc":{"automatable":"yes","exploitation":"none","technical_impact":"total"},"state":"PUBLISHED","updated":"2026-08-14","vendors":["benoitc"]},"summary":"A man-in-the-middle can impersonate servers because the Erlang QUIC client failed to validate TLS certificates, compromising connection confidentiality and integrity.","url":"https://insights.sbomify.com/CVE-2026-49457/"}