CVE-2019-11840 json
golang.org/x/crypto/salsa20/salsa uses insufficiently random values
published 7y ago modified last mo. also GHSA-r5c5-pr8j-pfp7 , GO-2022-0209 , EUVD-2022-5096
- cvss
- 5.9
- version 3.1, NVD
- cisa kev
- Not listed
- not in CISA's catalog
- epss
- 3.5%
- EPSS 3.5% chance of exploitation in 30 days, percentile 89%
- public exploits
- 0
- none known
Summary
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.
Patch / fix
- go golang.org/x/crypto 0.0.0-20190320223903-b7391e95e576
- golang-go.crypto Debian 14, Debian 13, Debian 12 1:0.0~git20200221.2aa609c-1
debian advisories DEBIAN-CVE-2019-11840
- prometheus openshift 3.11 3.11.374-1.git.5026.29379c4.el7
- python-urllib3 openshift 3.11 1.26.2-1.el7
- python2-urllib3 openshift 3.11 1.26.2-1.el7
- atomic-openshift openshift 3.11 3.11.374-1.git.0.ebd3ee9.el7
- atomic-openshift-pod openshift 3.11 3.11.374-1.git.0.ebd3ee9.el7
- atomic-openshift-node openshift 3.11 3.11.374-1.git.0.ebd3ee9.el7
- atomic-openshift-tests openshift 3.11 3.11.374-1.git.0.ebd3ee9.el7
- atomic-openshift-master openshift 3.11 3.11.374-1.git.0.ebd3ee9.el7
red hat advisories RHSA-2021:0079RHBA-2020:0063
Is CVE-2019-11840 in your dependencies? Fencer shows which of your repositories are affected as soon as an advisory lands, and opens the fix as a pull request.
Check with FencerVendor advisories
What the vendors themselves say about their products: affected, fixed or not affected, and what to do.
red hat product security vex CVE-2019-11840 updated cvss 5.9
golang.org/x/crypto: Keystream loop in amd64 assembly when overflowing 32-bit counter
-
Red Hat OpenShift Container Platform 3.10 atomic-openshift, atomic-openshift-pod, atomic-openshift-node, atomic-openshift-tests, atomic-openshift-master, atomic-openshift-clients, +7 more Red Hat OpenStack Platform 15 (Stein) golang-golangorg-crypto-develaffected: no fix planned “Out of support scope”
-
Red Hat Software Collections rh-mongodb32-golang-googlecode-go-crypto-unit-test Red Hat Storage 3 heketi, heketi-client, python-heketiaffected: no fix planned “Will not fix”
-
Red Hat OpenShift Container Platform 3.11 prometheus 3.11.374-1.git.5026.29379c4.el7, atomic-openshift 3.11.374-1.git.0.ebd3ee9.el7, atomic-openshift-pod 3.11.374-1.git.0.ebd3ee9.el7, atomic-openshift-node 3.11.374-1.git.0.ebd3ee9.el7, atomic-openshift-tests 3.11.374-1.git.0.ebd3ee9.el7, atomic-openshift-master 3.11.374-1.git.0.ebd3ee9.el7, +25 morefixed: vendor fix RHSA-2021:0079
-
Red Hat OpenShift Container Platform 4.3 openshift4/ose-hyperkube v4.3.0-202001211731, openshift 4.3.0-202001131753.git.0.0aee6a8.el7, openshift 4.3.0-202001131753.git.0.0aee6a8.el8, openshift-hyperkube 4.3.0-202001131753.git.0.0aee6a8.el7, openshift-hyperkube 4.3.0-202001131753.git.0.0aee6a8.el8fixed: vendor fix RHBA-2020:0063
-
Red Hat Enterprise Linux 7 gomtree Red Hat Enterprise Linux 8 gomtree Red Hat OpenShift Container Platform 3.11 python-urllib3 1.26.2-1.el7, python2-urllib3 1.26.2-1.el7, openshift-ansible 3.11.374-1.git.0.92f5956.el7, openshift-kuryr 3.11.374-1.git.1478.ef11824.el7, openshift-ansible-test 3.11.374-1.git.0.92f5956.el7, openshift-kuryr-cni 3.11.374-1.git.1478.ef11824.el7, +5 more Red Hat OpenShift Container Platform 4.3 jq 1.6-2.el7, apb 2.0.3-2.el7, faq 0.0.6-4.el7, conmon 2.0.8-2.el7, conmon 2.0.9-1.el8, fb303 0.9.1-15.el7, +282 more Red Hat Software Collections source-to-image, rh-mongodb34-mongodb, rh-mongodb36-mongodb, rh-mongodb34-mongo-tools, rh-mongodb36-mongo-tools, rh-mongodb34-mongodb-test, +10 morenot affected: vulnerable code not present
Red Hat CSAF VEX © Red Hat, Inc., from https://security.access.redhat.com/data/csaf/v2/vex/; changed: reduced to product statuses and remediations. CC BY 4.0 · csaf
Exploit prediction
3.45% chance of exploitation in the next 30 days, higher than 89% of all scored CVEs (FIRST EPSS, 2026-11-09).
CVSS scores
| assigned by | version | score | vector |
|---|---|---|---|
| NVD | 3.1 | 5.9 | CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:N/A:N |
| NVD | 2.0 | 4.3 | AV:N/AC:M/Au:N/C:P/I:N/A:N |
| GitHub | 3.1 | 5.9 | CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:N/A:N |
Affected packages
| ecosystem | package | affected | fixed in |
|---|---|---|---|
| go | golang.org/x/crypto | <0.0.0-20190320223903-b7391e95e576 |
0.0.0-20190320223903-b7391e95e576 |
Classification
- Weakness
-
- CWE-330 Use of Insufficiently Random Values
References
-
go.googlesource.com
/crypto/+/b7391e95e576cacdcdd422573063bc057239113d
web, mailing-list, patch, third-party-advisory
-
go.dev
/cl/168406
web, patch
-
bugzilla.redhat.com
/show_bug.cgi?id=1691529
web, issue-tracking, vendor-advisory
-
groups.google.com
/forum/#%21msg/golang-announce/tjyNcJxb2vQ/n0NRBziSCAAJ
permissions-required
-
github.com
/golang/go/issues/30965
web, third-party-advisory
-
lists.debian.org
/debian-lts-announce/2019/06/msg00029.html
mailing-list, web, third-party-advisory
-
lists.debian.org
/debian-lts-announce/2020/10/msg00014.html
mailing-list, web, third-party-advisory
-
lists.debian.org
/debian-lts-announce/2020/11/msg00016.html
mailing-list, web, third-party-advisory
-
lists.debian.org
/debian-lts-announce/2020/11/msg00030.html
mailing-list, web, third-party-advisory
-
lists.debian.org
/debian-lts-announce/2021/01/msg00015.html
mailing-list, web, third-party-advisory
-
lists.debian.org
/debian-lts-announce/2023/06/msg00017.html
mailing-list, web, third-party-advisory
-
pkg.go.dev
/vuln/GO-2022-0209
web, third-party-advisory
-
nvd.nist.gov
/vuln/detail/CVE-2019-11840
advisory
-
github.com
/golang/go
package
-
go.dev
/issue/30965
web, report
-
groups.google.com
/forum/#!msg/golang-announce/tjyNcJxb2vQ/n0NRBziSCAAJ
web
-
groups.google.com
/g/golang-announce/c/tjyNcJxb2vQ/m/n0NRBziSCAAJ
web
Sources
- CVE List CVE-2019-11840
- GitHub Advisory GHSA-r5c5-pr8j-pfp7
- NVD CVE-2019-11840
- OSV GO-2022-0209
Fencer Intel keeps one entry per vulnerability: the CVE id wins, then GHSA, and records that alias each other are merged, except that two CVEs always keep separate entries. The same data is available as JSON.