{"url":"http://public2.vulnerablecode.io/api/vulnerabilities/45925?format=json","vulnerability_id":"VCID-y9pn-esju-ffec","summary":"Improper Verification of Cryptographic Signature\nOpenPGP.js is a JavaScript implementation of the OpenPGP protocol. In affected versions OpenPGP Cleartext Signed Messages are cryptographically signed messages where the signed text is readable without special tools. These messages typically contain a \"Hash: ...\" header declaring the hash algorithm used to compute the signature digest. OpenPGP.js up to v5.9.0 ignored any data preceding the \"Hash: ...\" texts when verifying the signature. As a result, malicious parties could add arbitrary text to a third-party Cleartext Signed Message, to lead the victim to believe that the arbitrary text was signed. A user or application is vulnerable to said attack vector if it verifies the CleartextMessage by only checking the returned `verified` property, discarding the associated `data` information, and instead _visually trusting_ the contents of the original message. Since `verificationResult.data` would always contain the actual signed data, users and apps that check this information are not vulnerable. Similarly, given a CleartextMessage object, retrieving the data using `getText()` or the `text` field returns only the contents that are considered when verifying the signature. Finally, re-armoring a CleartextMessage object (using `armor()` will also result in a \"sanitised\" version, with the extraneous text being removed. This issue has been addressed in version 5.10.1 (current stable version) which will reject messages when calling `openpgp.readCleartextMessage()` and in version 4.10.11 (legacy version) which will will reject messages when calling `openpgp.cleartext.readArmored()`. Users are advised to upgrade. Users unable to upgrade should check the contents of `verificationResult.data` to see what data was actually signed, rather than visually trusting the contents of the armored message.","aliases":[{"alias":"CVE-2023-41037"},{"alias":"GHSA-ch3c-v47x-4pgp"}],"fixed_packages":[{"url":"http://public2.vulnerablecode.io/api/packages/66726?format=json","purl":"pkg:npm/openpgp@4.10.11","is_vulnerable":false,"affected_by_vulnerabilities":[],"resource_url":"http://public2.vulnerablecode.io/packages/pkg:npm/openpgp@4.10.11"},{"url":"http://public2.vulnerablecode.io/api/packages/66727?format=json","purl":"pkg:npm/openpgp@5.10.1","is_vulnerable":false,"affected_by_vulnerabilities":[],"resource_url":"http://public2.vulnerablecode.io/packages/pkg:npm/openpgp@5.10.1"}],"affected_packages":[{"url":"http://public2.vulnerablecode.io/api/packages/66725?format=json","purl":"pkg:npm/openpgp@5.0.0","is_vulnerable":true,"affected_by_vulnerabilities":[{"vulnerability":"VCID-y9pn-esju-ffec"}],"resource_url":"http://public2.vulnerablecode.io/packages/pkg:npm/openpgp@5.0.0"}],"references":[{"reference_url":"https://github.com/openpgpjs/openpgpjs/commit/6b43e02a254853f5ff508ebd1b07541f78b7c566","reference_id":"","reference_type":"","scores":[],"url":"https://github.com/openpgpjs/openpgpjs/commit/6b43e02a254853f5ff508ebd1b07541f78b7c566"},{"reference_url":"https://github.com/openpgpjs/openpgpjs/releases/tag/v4.10.11","reference_id":"","reference_type":"","scores":[],"url":"https://github.com/openpgpjs/openpgpjs/releases/tag/v4.10.11"},{"reference_url":"https://github.com/openpgpjs/openpgpjs/releases/tag/v5.10.1","reference_id":"","reference_type":"","scores":[],"url":"https://github.com/openpgpjs/openpgpjs/releases/tag/v5.10.1"},{"reference_url":"https://nvd.nist.gov/vuln/detail/CVE-2023-41037","reference_id":"CVE-2023-41037","reference_type":"","scores":[],"url":"https://nvd.nist.gov/vuln/detail/CVE-2023-41037"},{"reference_url":"https://github.com/advisories/GHSA-ch3c-v47x-4pgp","reference_id":"GHSA-ch3c-v47x-4pgp","reference_type":"","scores":[],"url":"https://github.com/advisories/GHSA-ch3c-v47x-4pgp"},{"reference_url":"https://github.com/openpgpjs/openpgpjs/security/advisories/GHSA-ch3c-v47x-4pgp","reference_id":"GHSA-ch3c-v47x-4pgp","reference_type":"","scores":[],"url":"https://github.com/openpgpjs/openpgpjs/security/advisories/GHSA-ch3c-v47x-4pgp"}],"weaknesses":[{"cwe_id":1035,"name":"OWASP Top Ten 2017 Category A9 - Using Components with Known Vulnerabilities","description":"Weaknesses in this category are related to the A9 category in the OWASP Top Ten 2017."},{"cwe_id":347,"name":"Improper Verification of Cryptographic Signature","description":"The product does not verify, or incorrectly verifies, the cryptographic signature for data."},{"cwe_id":937,"name":"OWASP Top Ten 2013 Category A9 - Using Components with Known Vulnerabilities","description":"Weaknesses in this category are related to the A9 category in the OWASP Top Ten 2013."}],"exploits":[],"severity_range_score":null,"exploitability":null,"weighted_severity":null,"risk_score":null,"resource_url":"http://public2.vulnerablecode.io/vulnerabilities/VCID-y9pn-esju-ffec"}