Vulnerability Report: GO-2022-0187

standard library

The ScalarMult implementation of curve P-256 for amd64 architectures generates incorrect results for certain specific input points. An adaptive attack can progressively extract the scalar input to ScalarMult by submitting crafted points and observing failures to derive correct output. This leads to a full key recovery attack against static ECDH, as used in popular JWT libraries.

Affected Packages

  • Path
    Go Versions
    Symbols
  • from go1.6.0-0 before go1.7.6, from go1.8.0-0 before go1.8.2
    1 unexported affected symbols
    • p256SubInternal

Aliases

References

Credits

  • Vlad Krasnov, Filippo Valsorda at Cloudflare

Feedback

See anything missing or incorrect? Suggest an edit to this report.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL