Summary
pypqc private key retrieval vulnerability
Workarounds
No workarounds have been reported. The 0.0.6 -> 0.0.6.1 upgrade should be a drop-in replacement; it has no known breaking changes.
References
Timeline
Cryspen researchers privately reported KyberSlash to the reference implementation maintainers.
Peter Schwabe partially patched KyberSlash (only "KyberSlash 1") in the reference implementation on December 1st, 2023, but did not document or advertise this as a security patch.
https://www.github.com/pq-crystals/kyber/commit/dda29cc63af721981ee2c831cf00822e69be3220Daniel J. Bernstein publicly reported KyberSlash as a security issue on December 15th, 2023.
https://groups.google.com/a/list.nist.gov/g/pqc-forum/c/hWqFJCucuj4/m/-Z-jm_k9AAAJDaniel J. Bernstein created a webpage for authoritative reference about KyberSlash on December 19th, 2023.
https://kyberslash.cr.yp.to/Thom Wiggers acknowledged KyberSlash as a security issue on December 19th, 2023.
https://www.github.com/PQClean/PQClean/issues/533Prasanna Ravi and Matthias Kannwischer privately reported further details about KyberSlash ("KyberSlash 2") to the reference implementation maintainers.
Peter Schwabe completely patched KyberSlash in the reference implementation on December 29th, 2023.
https://www.github.com/pq-crystals/kyber/commit/11d00ff1f20cfca1f72d819e5a45165c1e0a2816Prasanna Ravi and Matthias Kannwischer publicly reported their findings ("KyberSlash 2") on December 30th, 2023.
https://groups.google.com/a/list.nist.gov/g/pqc-forum/c/ldX0ThYJuBo/m/ovODsdY7AwAJDaniel J. Bernstein published a proof-of-concept exploit (only validated for a local attacker) for KyberSlash on December 30th, 2023.
https://groups.google.com/a/list.nist.gov/g/pqc-forum/c/ldX0ThYJuBo/m/uIOqRF5BAwAJThom Wiggers completely patched KyberSlash in PQClean on January 25th, 2024.
https://www.github.com/PQClean/PQClean/commit/3b43bc6fe46fe47be38f87af5019a7f1462ae6ddJames E. A. completely patched KyberSlash in pypqc and released a security update on January 26th, 2024.
https://www.github.com/JamesTheAwesomeDude/pypqc/commit/b33fec8cd36e865f8db6215c64b2d01f429a1ed6
Impact
kyber512, kyber768, and kyber1024 only: An attacker able to submit many decapsulation requests against a single private key, and to gain timing information about the decapsulation, could recover the private key. Proof-of-concept exploit exists for a local attacker.
CVSS:3.1/AV:A/AC:L/PR:N/UI:N/S:U/C:H/I:L/A:N/E:P/RL:O/RC:C
GHSA-RC4P-P3J9-6577 has a CVSS score of 8.2 (High). The vector is network-reachable, no privileges required, and no user interaction. A CVSS score reflects the worst-case severity of the vulnerability, not your specific exposure. Whether this affects your application depends on whether the vulnerable code is present and reachable in your environment. A fixed version is available (0.0.6.1); upgrading removes the vulnerable code path.
Affected versions
Security releases
Kodem intelligence
Severity tells you how bad this could be in the worst case. It does not tell you whether you are exposed. Exploitability and impact are functions of runtime truth: whether the vulnerable code is present, reachable, and actually executes in your application. A vulnerable package can sit in your dependency tree and never run.
Kodem, an Intelligent Application Security platform, uses runtime intelligence to reveal which vulnerabilities actually execute in production, so teams prioritize the ones that genuinely matter. Kodem's runtime-powered SCA identifies whether this CVE is reachable in your applications.
Already deployed Kodem?
See it in your environmentNew to Kodem? Get a demo →Remediation advice
Version 0.0.6.1 and newer of PyPQC is patched.
Frequently Asked Questions
- What is GHSA-RC4P-P3J9-6577? GHSA-RC4P-P3J9-6577 is a high-severity security vulnerability in pypqc (pip), affecting versions >= 0.0.4, < 0.0.6.1. It is fixed in 0.0.6.1.
- How severe is GHSA-RC4P-P3J9-6577? GHSA-RC4P-P3J9-6577 has a CVSS score of 8.2 (High). This score reflects the worst-case severity of the vulnerability, not your specific exposure. Whether it represents real risk in your environment depends on whether the vulnerable code is present and reachable.
- Which versions of pypqc are affected by GHSA-RC4P-P3J9-6577? pypqc (pip) versions >= 0.0.4, < 0.0.6.1 is affected.
- Is there a fix for GHSA-RC4P-P3J9-6577? Yes. GHSA-RC4P-P3J9-6577 is fixed in 0.0.6.1. Upgrade to this version or later.
- Is GHSA-RC4P-P3J9-6577 exploitable, and should I be worried? Whether GHSA-RC4P-P3J9-6577 is exploitable in your environment depends on whether the vulnerable code is present and reachable. A CVSS score is a worst-case rating; it does not account for your specific deployment, configuration, or usage patterns. Kodem, an Intelligent Application Security platform, uses runtime intelligence to show which vulnerabilities actually execute in production, so you can focus on the ones that represent real risk. Get a demo
- What actually determines whether GHSA-RC4P-P3J9-6577 is exploitable, and how bad it is? Exploitability and impact are not fixed properties of a CVE. They depend on runtime truth: whether the vulnerable code is present, reachable, and actually executes in your application. A high CVSS score on a dependency that never runs is not the same as real risk. Kodem, an Intelligent Application Security platform, uses runtime intelligence to reveal which vulnerabilities actually execute in production, so teams prioritize the ones that genuinely matter.
- How do I fix GHSA-RC4P-P3J9-6577? Upgrade
pypqcto 0.0.6.1 or later.