GHSA-x5j2-g63m-f8g4
pqc_kyber KyberSlash: division timings depending on secrets
GHSA-x5j2-g63m-f8g4 is a high vulnerability (CVSS 7.4) in pqc_kyber, published December 1, 2023. No source lists public exploit code. No source names a fixed version.
- Severity
- 7.4 HighCVSS 3.1, GitHub Advisories
- Exploit chance
- UnscoredNo EPSS score yet
- Exploitation
- None knownNot on CISA’s or ENISA’s lists
- Fixed in
- No fix listedNo source names one
Description
Various Kyber software libraries in various environments leak secret information into timing, specifically because
- these libraries include a line of code that divides a secret numerator by a public denominator,
- the number of CPU cycles for division in various environments varies depending on the inputs to the division, and
- this variation appears within the range of numerators used in these libraries.
The KyberSlash pages track which Kyber libraries have this issue, and include a FAQ about the issue.
Author
The KyberSlash pages were written by Daniel J. Bernstein. The FAQ originally said "I", but some people seemed to have trouble finding this authorship statement, so the FAQ now says "Bernstein" instead.
URL
The permanent link for the KyberSlash pages is https://kyberslash.cr.yp.to.
Mitigation status in pqc_kyber crate
The issues has not been resolved in the pqc_kyber crate. A third-party fork that mitigates this attack vector has been published as safe_pqc_kyber.
Attack profile
How easy it is to exploit
- Attack vector
- Network
- Complexity
- High
- Privileges needed
- None
- User interaction
- None
What an attacker can affect
- Confidentiality
- High
- Integrity
- High
- Availability
- None
Affected packages
What each source reports
GitHub Advisories Score used 7.4
pqc_kyber KyberSlash: division timings depending on secrets
Various Kyber software libraries in various environments leak secret information into timing, specifically because
- these libraries include a line of code that divides a secret numerator by a public denominator,
- the number of CPU cycles for division in various environments varies depending on the inputs to the division, and
- this variation appears within the range of numerators used in these libraries.
The KyberSlash pages track which Kyber libraries have this issue, and include a FAQ about the issue.
Author
The KyberSlash pages were written by Daniel J. Bernstein. The FAQ originally said "I", but some people seemed to have trouble finding this authorship statement, so the FAQ now says "Bernstein" instead.
URL
The permanent link for the KyberSlash pages is https://kyberslash.cr.yp.to.
Mitigation status in pqc_kyber crate
The issues has not been resolved in the pqc_kyber crate. A third-party fork that mitigates this attack vector has been published as safe_pqc_kyber.
- Record
GHSA-x5j2-g63m-f8g4- CVSS 3.1
- 7.4 High
CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:N - Updated
- 2026-11-02
OSV 7.4
pqc_kyber KyberSlash: division timings depending on secrets
Various Kyber software libraries in various environments leak secret information into timing, specifically because
- these libraries include a line of code that divides a secret numerator by a public denominator,
- the number of CPU cycles for division in various environments varies depending on the inputs to the division, and
- this variation appears within the range of numerators used in these libraries.
The KyberSlash pages track which Kyber libraries have this issue, and include a FAQ about the issue.
Author
The KyberSlash pages were written by Daniel J. Bernstein. The FAQ originally said "I", but some people seemed to have trouble finding this authorship statement, so the FAQ now says "Bernstein" instead.
URL
The permanent link for the KyberSlash pages is https://kyberslash.cr.yp.to.
Mitigation status in pqc_kyber crate
The issues has not been resolved in the pqc_kyber crate. A third-party fork that mitigates this attack vector has been published as safe_pqc_kyber.
- Record
GHSA-x5j2-g63m-f8g4- CVSS 3.1
- 7.4 High
CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:N - Updated
- 2026-11-02
OSVRUSTSEC-2023-0079 7.4
KyberSlash: division timings depending on secrets
Various Kyber software libraries in various environments leak secret information into timing, specifically because
- these libraries include a line of code that divides a secret numerator by a public denominator,
- the number of CPU cycles for division in various environments varies depending on the inputs to the division, and
- this variation appears within the range of numerators used in these libraries.
The KyberSlash pages track which Kyber libraries have this issue, and include a FAQ about the issue.
Author
The KyberSlash pages were written by Daniel J. Bernstein. The FAQ originally said "I", but some people seemed to have trouble finding this authorship statement, so the FAQ now says "Bernstein" instead.
URL
The permanent link for the KyberSlash pages is https://kyberslash.cr.yp.to.
Mitigation status in pqc_kyber crate
The issue has not been resolved in the upstream pqc_kyber crate.
A third-party fork that mitigates this attack vector has been published as safe_pqc_kyber.
Alternatives
The ml-kem crate is a maintained
alternative pure Rust implementation of ML-KEM / Kyber.
- Record
RUSTSEC-2023-0079- CVSS 3.1
- 7.4 High
CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:N - Updated
- 2026-11-02
History
| Recorded | Changed | Sources |
|---|---|---|
| first indexed | GitHub Advisories, OSV |
Dates are when Every CVE recorded each change. Upstream dates may differ.
References
github.com/Argyle-Software/kyber/issues/108
github.com/bwesterb/argyle-kyber/commit/b5c6ad13f4eece80e59c6ebeafd787ba1519f5f6
rustsec.org/advisories/RUSTSEC-2023-0079.html
github.com/advisories/GHSA-x5j2-g63m-f8g4
github.com/Argyle-Software/kyber
crates.io/crates/pqc_kyber
kyberslash.cr.yp.to/faq.html
kyberslash.cr.yp.to/libraries.html