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.
jdstrandsnapd contains an embedded copy of golang-go.crypto
the version of golang-go.crypto that is embedded does not contain
the clearsign package. Nothing in the source uses the clearsign APIs
Ubuntu 12.04 ESM (Precise Pangolin):DNE
Ubuntu 14.04 ESM (Trusty Tahr):DNE
Ubuntu 16.04 LTS (Xenial Xerus):needed
Ubuntu 18.04 LTS (Bionic Beaver):needed
Ubuntu 19.10 (Eoan Ermine):needed
Ubuntu 20.04 (Focal Fossa):not-affected (1:0.0~git20200221.2aa609c-1)
Source: snapd (LP Ubuntu Debian)
Upstream:not-affected (code-not-present)
Ubuntu 12.04 ESM (Precise Pangolin):DNE
Ubuntu 14.04 ESM (Trusty Tahr):DNE
Ubuntu 16.04 LTS (Xenial Xerus):not-affected (code-not-present)
Ubuntu 18.04 LTS (Bionic Beaver):not-affected (code-not-present)
Ubuntu 19.10 (Eoan Ermine):not-affected (code-not-present)
Ubuntu 20.04 (Focal Fossa):not-affected (code-not-present)
More Information

Updated: 2020-04-24 03:52:47 UTC (commit d3f8a6ed481830fb100109a132bef581fc4176fe)