CVE-2019-11840

golang.org/x/crypto: Keystream loop in amd64 assembly when overflowing 32-bit counter

Published May 9, 2019 CVSS 3.1 · 5.9 Medium EPSS 3.5% KEV · Not listed
Description
An issue was discovered in the supplementary Go cryptography library, golang.org/x/crypto, before v0.0.0-20190320223903-b7391e95e576. A flaw was found in the amd64 implementation of the golang.org/x/crypto/salsa20 and golang.org/x/crypto/salsa20/salsa packages. If more than 256 GiB of keystream is generated, or if the counter otherwise grows greater than 32 bits, the amd64 implementation will first generate incorrect output, and then cycle back to previously generated keystream. Repeated keystream bytes can lead to loss of confidentiality in encryption applications, or to predictability in CSPRNG applications.

Remediation

No solution or workaround provided in the CVE record

Tracking

Sign in to view the affected projects.

Advisories

Source ID Title
Debian DLA Debian DLA DLA-1840-1 golang-go.crypto security update
Debian DLA Debian DLA DLA-2402-1 golang-go.crypto security update
Debian DLA Debian DLA DLA-2442-1 obfs4proxy security update
Debian DLA Debian DLA DLA-2454-1 rclone security update
Debian DLA Debian DLA DLA-2527-1 snapd security update
Debian DLA Debian DLA DLA-3455-1 golang-go.crypto security update
EUVD EUVD EUVD-2022-5096 An issue was discovered in the supplementary Go cryptography library, golang.org/x/crypto, before v0.0.0-20190320223903-b7391e95e576. A flaw was found in the amd64 implementation of the golang.org/x/crypto/salsa20 and golang.org/x/crypto/salsa20/salsa packages. If more than 256 GiB of keystream is generated, or if the counter otherwise grows greater than 32 bits, the amd64 implementation will first generate incorrect output, and then cycle back to previously generated keystream. Repeated keystream bytes can lead to loss of confidentiality in encryption applications, or to predictability in CSPRNG applications.
Github GHSA Github GHSA GHSA-r5c5-pr8j-pfp7 golang.org/x/crypto/salsa20/salsa uses insufficiently random values
History
Type Values Removed Values Added
CPEs cpe:2.3:a:golang:crypto:*:*:*:*:*:*:*:* cpe:2.3:a:golang:crypto:-:*:*:*:*:*:*:*
cpe:2.3:o:debian:debian_linux:10.0:*:*:*:*:*:*:*
Weaknesses

Sources

Status
PUBLISHED
Assigner
mitre
Published
Updated
Aug 4, 2024, 11:03 PM
Reserved
May 9, 2019, 12:00 AM
Status
Analyzed
Published
May 9, 2019, 4:29 PM
Modified
Jun 17, 2026, 2:13 AM
Severity
Moderate
Public date
Mar 20, 2019, 12:00 AM