CVE-2019-11841
Golang/x/crypto message forgery vulnerability
A message-forgery issue was discovered in crypto/openpgp/clearsign/clearsign.go in supplementary Go cryptography libraries 2019-03-25. According to the OpenPGP Message Format specification in RFC 4880 chapter 7, a cleartext signed message can contain one or more optional "Hash" Armor Headers. The "Hash" Armor Header specifies the message digest algorithm(s) used for the signature. However, the Go clearsign package ignores the value of this header, which allows an attacker to spoof it. Consequently, an attacker can lead a victim to believe the signature was generated using a different message digest algorithm than what was actually used. Moreover, since the library skips Armor Header parsing in general, an attacker can not only embed arbitrary Armor Headers, but also prepend arbitrary text to cleartext messages without invalidating the signatures.
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
- None
- Integrity
- High
- Availability
- None
Exploit likelihood
What each source reports
NVD Score used
5.9
A message-forgery issue was discovered in crypto/openpgp/clearsign/clearsign.go in supplementary Go cryptography libraries 2019-03-25. According to the OpenPGP Message Format specification in RFC 4880 chapter 7, a cleartext signed message can contain one or more optional "Hash" Armor Headers. The "Hash" Armor Header specifies the message digest algorithm(s) used for the signature. However, the Go clearsign package ignores the value of this header, which allows an attacker to spoof it. Consequently, an attacker can lead a victim to believe the signature was generated using a different message digest algorithm than what was actually used. Moreover, since the library skips Armor Header parsing in general, an attacker can not only embed arbitrary Armor Headers, but also prepend arbitrary text to cleartext messages without invalidating the signatures.
- Record
CVE-2019-11841- CVSS 3.1
- 5.9 Medium
CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:H/A:N - CVSS 2.0
- 4.3 Medium
AV:N/AC:M/Au:N/C:N/I:P/A:N - Weakness
- CWE-347
- Updated
- 2026-11-02
CVE List No score
A message-forgery issue was discovered in crypto/openpgp/clearsign/clearsign.go in supplementary Go cryptography libraries 2019-03-25. According to the OpenPGP Message Format specification in RFC 4880 chapter 7, a cleartext signed message can contain one or more optional "Hash" Armor Headers. The "Hash" Armor Header specifies the message digest algorithm(s) used for the signature. However, the Go clearsign package ignores the value of this header, which allows an attacker to spoof it. Consequently, an attacker can lead a victim to believe the signature was generated using a different message digest algorithm than what was actually used. Moreover, since the library skips Armor Header parsing in general, an attacker can not only embed arbitrary Armor Headers, but also prepend arbitrary text to cleartext messages without invalidating the signatures.
- Record
CVE-2019-11841- Updated
- 2026-11-02
EUVDEUVD-2022-5700 No score
A message-forgery issue was discovered in crypto/openpgp/clearsign/clearsign.go in supplementary Go cryptography libraries 2019-03-25. According to the OpenPGP Message Format specification in RFC 4880 chapter 7, a cleartext signed message can contain one or more optional "Hash" Armor Headers. The "Hash" Armor Header specifies the message digest algorithm(s) used for the signature. However, the Go clearsign package ignores the value of this header, which allows an attacker to spoof it. Consequently, an attacker can lead a victim to believe the signature was generated using a different message digest algorithm than what was actually used. Moreover, since the library skips Armor Header parsing in general, an attacker can not only embed arbitrary Armor Headers, but also prepend arbitrary text to cleartext messages without invalidating the signatures.
- Record
EUVD-2022-5700- Updated
- 2026-11-03
GitHub AdvisoriesGHSA-x3jr-pf6g-c48f
5.9
Golang/x/crypto message forgery vulnerability
A message-forgery issue was discovered in crypto/openpgp/clearsign/clearsign.go in supplementary Go cryptography libraries 2019-03-25. According to the OpenPGP Message Format specification in RFC 4880 chapter 7, a cleartext signed message can contain one or more optional "Hash" Armor Headers. The "Hash" Armor Header specifies the message digest algorithm(s) used for the signature. However, the Go clearsign package ignores the value of this header, which allows an attacker to spoof it. Consequently, an attacker can lead a victim to believe the signature was generated using a different message digest algorithm than what was actually used. Moreover, since the library skips Armor Header parsing in general, an attacker can not only embed arbitrary Armor Headers, but also prepend arbitrary text to cleartext messages without invalidating the signatures.
- Record
GHSA-x3jr-pf6g-c48f- CVSS 3.1
- 5.9 Medium
CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:H/A:N - Weakness
- CWE-347
- Updated
- 2026-11-02
OSV
5.9
A message-forgery issue was discovered in crypto/openpgp/clearsign/clearsign.go in supplementary Go cryptography libraries 2019-03-25. According to the OpenPGP Message Format specification in RFC 4880 chapter 7, a cleartext signed message can contain one or more optional "Hash" Armor Headers. The "Hash" Armor Header specifies the message digest algorithm(s) used for the signature. However, the Go clearsign package ignores the value of this header, which allows an attacker to spoof it. Consequently, an attacker can lead a victim to believe the signature was generated using a different message digest algorithm than what was actually used. Moreover, since the library skips Armor Header parsing in general, an attacker can not only embed arbitrary Armor Headers, but also prepend arbitrary text to cleartext messages without invalidating the signatures.
- Record
CVE-2019-11841- CVSS 3.1
- 5.9 Medium
CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:H/A:N - Updated
- 2026-11-02
OSVDEBIAN-CVE-2019-11841
5.9
A message-forgery issue was discovered in crypto/openpgp/clearsign/clearsign.go in supplementary Go cryptography libraries 2019-03-25. According to the OpenPGP Message Format specification in RFC 4880 chapter 7, a cleartext signed message can contain one or more optional "Hash" Armor Headers. The "Hash" Armor Header specifies the message digest algorithm(s) used for the signature. However, the Go clearsign package ignores the value of this header, which allows an attacker to spoof it. Consequently, an attacker can lead a victim to believe the signature was generated using a different message digest algorithm than what was actually used. Moreover, since the library skips Armor Header parsing in general, an attacker can not only embed arbitrary Armor Headers, but also prepend arbitrary text to cleartext messages without invalidating the signatures.
- Record
DEBIAN-CVE-2019-11841- CVSS 3.1
- 5.9 Medium
CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:H/A:N - Updated
- 2026-11-02
OSVGHSA-x3jr-pf6g-c48f
5.9
Golang/x/crypto message forgery vulnerability
A message-forgery issue was discovered in crypto/openpgp/clearsign/clearsign.go in supplementary Go cryptography libraries 2019-03-25. According to the OpenPGP Message Format specification in RFC 4880 chapter 7, a cleartext signed message can contain one or more optional "Hash" Armor Headers. The "Hash" Armor Header specifies the message digest algorithm(s) used for the signature. However, the Go clearsign package ignores the value of this header, which allows an attacker to spoof it. Consequently, an attacker can lead a victim to believe the signature was generated using a different message digest algorithm than what was actually used. Moreover, since the library skips Armor Header parsing in general, an attacker can not only embed arbitrary Armor Headers, but also prepend arbitrary text to cleartext messages without invalidating the signatures.
- Record
GHSA-x3jr-pf6g-c48f- CVSS 3.1
- 5.9 Medium
CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:H/A:N - Weakness
- CWE-347
- Updated
- 2026-11-02
OSVUBUNTU-CVE-2019-11841
5.9
A message-forgery issue was discovered in crypto/openpgp/clearsign/clearsign.go in supplementary Go cryptography libraries 2019-03-25. According to the OpenPGP Message Format specification in RFC 4880 chapter 7, a cleartext signed message can contain one or more optional "Hash" Armor Headers. The "Hash" Armor Header specifies the message digest algorithm(s) used for the signature. However, the Go clearsign package ignores the value of this header, which allows an attacker to spoof it. Consequently, an attacker can lead a victim to believe the signature was generated using a different message digest algorithm than what was actually used. Moreover, since the library skips Armor Header parsing in general, an attacker can not only embed arbitrary Armor Headers, but also prepend arbitrary text to cleartext messages without invalidating the signatures.
- Record
UBUNTU-CVE-2019-11841- CVSS 3.1
- 5.9 Medium
CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:H/A:N - Updated
- 2026-11-02
OSVGO-2023-1992 No score
Misleading message verification in golang.org/x/crypto/openpgp/clearsign
The clearsign package accepts some malformed messages, making it possible for an attacker to trick a human user (but not a Go program) into thinking unverified text is part of the message.
With fix, messages with malformed headers in the SIGNED MESSAGE section are rejected.
- Record
GO-2023-1992- Updated
- 2026-11-02
Affected products
Affected packages
| Package | Affected | Fixed |
|---|---|---|
golang.org/x/cryptoGo |
before 0.0.0-20190424203555-c05e17bb3b2d | 0.0.0-20190424203555-c05e17bb3b2d |
golang-go.cryptoDebian:12 |
before 1:0.0~git20200221.2aa609c-1 | 1:0.0~git20200221.2aa609c-1 |
golang-go.cryptoDebian:13 |
before 1:0.0~git20200221.2aa609c-1 | 1:0.0~git20200221.2aa609c-1 |
golang-go.cryptoDebian:14 |
before 1:0.0~git20200221.2aa609c-1 | 1:0.0~git20200221.2aa609c-1 |
golang-go.cryptoDebian:8 |
before 0.0~hg190-1+deb8u2, plus listed versions 0.0~hg190-10.0~hg190-1+deb8u1 |
0.0~hg190-1+deb8u2 |
golang-go.cryptoDebian:9 From an advisory covering 3 CVEs |
before 1:0.0~git20170407.0.55a552f+REALLY.0.0~git20161012.0.5f31782-1+deb8u1, plus listed versions 1:0.0~git20170407.0.55a552f+REALLY.0.0~git20161012.0.5f31782-1 |
1:0.0~git20170407.0.55a552f+REALLY.0.0~git20161012.0.5f31782-1+deb8u1 |
golang-go.cryptoDebian:10 From an advisory covering 3 CVEs |
before 1:0.0~git20181203.505ab14-1+deb10u1, plus listed versions 1:0.0~git20181203.505ab14-1 |
1:0.0~git20181203.505ab14-1+deb10u1 |
golang-go.cryptoUbuntu:Pro:16.04:LTS |
All versions, plus listed versions 1:0.0~git20150608-11:0.0~git20151201.0.7b85b09-21:0.0~git20151201.0.7b85b09-2ubuntu0.1~esm11:0.0~git20151201.0.7b85b09-2ubuntu0.1~esm21:0.0~git20151201.0.7b85b09-2ubuntu0.1~esm3 |
None known |
golang-go.cryptoUbuntu:Pro:18.04:LTS |
All versions, plus listed versions 1:0.0~git20170629.0.5ef0053-1ubuntu11:0.0~git20170629.0.5ef0053-1ubuntu21:0.0~git20170629.0.5ef0053-21:0.0~git20170629.0.5ef0053-2ubuntu0.1~esm11:0.0~git20170629.0.5ef0053-2ubuntu0.1~esm21:0.0~git20170629.0.5ef0053-2ubuntu0.1~esm3 |
None known |
History
| Recorded | Changed | Sources |
|---|---|---|
| affected, facts | ||
| aliases | EUVD | |
| first indexed | CVE List, GitHub Advisories, NVD, OSV |
Dates are when Every CVE recorded each change. Upstream dates may differ.
In short
CVE-2019-11841 is a medium vulnerability (CVSS 5.9) in Golang Crypto, published May 22, 2019. No source lists public exploit code. EPSS puts the chance of exploitation in the next 30 days at 2.00%, the 80th percentile. Fixed in golang.org/x/crypto 0.0.0-20190424203555-c05e17bb3b2d.
References
sec-consult.com
go.googlesource.com/crypto
packetstormsecurity.com/files/152840/Go-Cryptography-Libraries-Cleartext-Message-Spoofing.html
sec-consult.com/en/blog/advisories/cleartext-message-spoofing-in-go-cryptography-libraries-cve-2019-11841
lists.debian.org/debian-lts-announce/2019/09/msg00011.html
lists.debian.org/debian-lts-announce/2020/10/msg00014.html
Show 14 moreShow less
lists.debian.org/debian-lts-announce/2023/06/msg00017.html
nvd.nist.gov/vuln/detail/CVE-2019-11841
github.com/golang/crypto/commit/c05e17bb3b2dca130fc919668a96b4bec9eb9442
groups.google.com/d/msg/golang-openpgp/6vdgZoTgbIY/K6bBY9z3DAAJ
web.archive.org/web/20201207161832/https://sec-consult.com/en/blog/advisories/cleartext-message-spoofing-in-go-cryptography-libraries-cve-2019-11841
go-review.git.corp.google.com/c/crypto/+/173778
go.googlesource.com/crypto/+/c05e17bb3b2dca130fc919668a96b4bec9eb9442
pkg.go.dev/vuln/GO-2023-1992
github.com/advisories/GHSA-x3jr-pf6g-c48f
security-tracker.debian.org/tracker/CVE-2019-11841
github.com/golang/crypto/tree/master/openpgp/clearsign
ubuntu.com/security/CVE-2019-11841
groups.google.com/forum
cve.org/CVERecord?id=CVE-2019-11841