{"schema_version":"1.7.3","id":"GHSA-x9w5-v3q2-3rhw","published":"2023-10-26T20:53:21Z","modified":"2025-02-13T19:19:37Z","aliases":["CVE-2023-46234"],"related":["CVE-2023-46234"],"summary":"browserify-sign upper bound check issue in `dsaVerify` leads to a signature forgery attack","details":"### Summary\nAn upper bound check issue in `dsaVerify` function allows an attacker to construct signatures that can be successfully verified by any public key, thus leading to a signature forgery attack.\n\n### Details\nIn `dsaVerify` function, it checks whether the value of the signature is legal by calling function `checkValue`, namely, whether `r` and `s` are both in the interval `[1, q - 1]`. However, the second line of the `checkValue` function wrongly checks the upper bound of the passed parameters, since the value of `b.cmp(q)` can only be `0`, `1` and `-1`, and it can never be greater than `q`. \n\nIn this way, although the values of `s` cannot be `0`, an attacker can achieve the same effect as zero by setting its value to `q`, and then send `(r, s) = (1, q)` to pass the verification of any public key.\n\n### Impact\nAll places in this project that involve DSA verification of user-input signatures will be affected by this vulnerability.\n\n\n### Fix PR:\nSince the temporary private fork was deleted, here's a webarchive of the PR discussion and diff pages: [PR webarchive.zip](https://github.com/browserify/browserify-sign/files/13172957/PR.webarchive.zip)","affected":[{"package":{"name":"browserify-sign","ecosystem":"npm","purl":"pkg:npm/browserify-sign"},"ranges":[{"type":"SEMVER","events":[{"introduced":"2.6.0"},{"fixed":"4.2.2"}]}],"database_specific":{"last_known_affected_version_range":"<= 4.2.1","source":"https://github.com/github/advisory-database/blob/main/advisories/github-reviewed/2023/10/GHSA-x9w5-v3q2-3rhw/GHSA-x9w5-v3q2-3rhw.json"}}],"references":[{"type":"WEB","url":"https://github.com/browserify/browserify-sign/security/advisories/GHSA-x9w5-v3q2-3rhw"},{"type":"ADVISORY","url":"https://nvd.nist.gov/vuln/detail/CVE-2023-46234"},{"type":"WEB","url":"https://github.com/browserify/browserify-sign/commit/85994cd6348b50f2fd1b73c54e20881416f44a30"},{"type":"PACKAGE","url":"https://github.com/browserify/browserify-sign"},{"type":"WEB","url":"https://lists.debian.org/debian-lts-announce/2023/10/msg00040.html"},{"type":"WEB","url":"https://lists.fedoraproject.org/archives/list/package-announce@lists.fedoraproject.org/message/3HUE6ZR5SL73KHL7XUPAOEL6SB7HUDT2"},{"type":"WEB","url":"https://lists.fedoraproject.org/archives/list/package-announce@lists.fedoraproject.org/message/6PVVPNSAGSDS63HQ74PJ7MZ3MU5IYNVZ"},{"type":"WEB","url":"https://www.debian.org/security/2023/dsa-5539"}],"database_specific":{"cwe_ids":["CWE-347"],"github_reviewed":true,"github_reviewed_at":"2023-10-26T20:53:21Z","nvd_published_at":"2023-10-26T15:15:09Z","severity":"HIGH"},"severity":[{"type":"CVSS_V3","score":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:N"}]}