CVE-2023-46234
browserify-sign vulnerable via an upper bound check issue in `dsaVerify` that leads to a signature forgery attack
browserify-sign is a package to duplicate the functionality of node's crypto public key functions, much of this is based on Fedor Indutny's work on indutny/tls.js. An 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. All places in this project that involve DSA verification of user-input signatures will be affected by this vulnerability. This issue has been patched in version 4.2.2.
Attack profile
How easy it is to exploit
- Attack vector
- Network
- Complexity
- Low
- Privileges needed
- None
- User interaction
- None
What an attacker can affect
- Confidentiality
- Low
- Integrity
- Low
- Availability
- None
Exploit likelihood
What each source reports
CVE List Score used
6.5
browserify-sign vulnerable via an upper bound check issue in `dsaVerify` that leads to a signature forgery attack
browserify-sign is a package to duplicate the functionality of node's crypto public key functions, much of this is based on Fedor Indutny's work on indutny/tls.js. An 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. All places in this project that involve DSA verification of user-input signatures will be affected by this vulnerability. This issue has been patched in version 4.2.2.
- Record
CVE-2023-46234- CVSS 3.1
- 6.5 Medium
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:L/A:N - Weakness
- CWE-347
- Updated
- 2026-11-02
EUVDEUVD-2023-2835
6.5
browserify-sign is a package to duplicate the functionality of node's crypto public key functions, much of this is based on Fedor Indutny's work on indutny/tls.js. An 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. All places in this project that involve DSA verification of user-input signatures will be affected by this vulnerability. This issue has been patched in version 4.2.2.
- Record
EUVD-2023-2835- CVSS 3.1
- 6.5 Medium
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:L/A:N - Updated
- 2026-11-03
GitHub AdvisoriesGHSA-x9w5-v3q2-3rhw
7.5
browserify-sign upper bound check issue in `dsaVerify` leads to a signature forgery attack
Summary
An 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.
Details
In 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.
In 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.
Impact
All places in this project that involve DSA verification of user-input signatures will be affected by this vulnerability.
Fix PR:
Since the temporary private fork was deleted, here's a webarchive of the PR discussion and diff pages: PR webarchive.zip
- Record
GHSA-x9w5-v3q2-3rhw- CVSS 3.1
- 7.5 High
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:N - Weakness
- CWE-347
- Updated
- 2026-11-02
NVD
6.5
browserify-sign is a package to duplicate the functionality of node's crypto public key functions, much of this is based on Fedor Indutny's work on indutny/tls.js. An 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. All places in this project that involve DSA verification of user-input signatures will be affected by this vulnerability. This issue has been patched in version 4.2.2.
- Record
CVE-2023-46234- CVSS 3.1
- 6.5 Medium
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:L/A:N - CVSS 3.1
- 7.5 High
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:N - Weakness
- CWE-347
- Updated
- 2026-11-02
OSVAZL-31719
7.5
CVE-2023-46234 affecting package reaper for versions less than 3.1.1-9
browserify-sign is a package to duplicate the functionality of node's crypto public key functions, much of this is based on Fedor Indutny's work on indutny/tls.js. An 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. All places in this project that involve DSA verification of user-input signatures will be affected by this vulnerability. This issue has been patched in version 4.2.2.
- Record
AZL-31719- CVSS 3.1
- 7.5 High
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:N - Updated
- 2026-11-02
OSV
6.5
browserify-sign vulnerable via an upper bound check issue in `dsaVerify` that leads to a signature forgery attack
browserify-sign is a package to duplicate the functionality of node's crypto public key functions, much of this is based on Fedor Indutny's work on indutny/tls.js. An 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. All places in this project that involve DSA verification of user-input signatures will be affected by this vulnerability. This issue has been patched in version 4.2.2.
- Record
CVE-2023-46234- CVSS 3.1
- 6.5 Medium
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:L/A:N - Weakness
- CWE-347
- Updated
- 2026-11-02
Show 9 moreShow less
OSVDEBIAN-CVE-2023-46234
7.5
browserify-sign is a package to duplicate the functionality of node's crypto public key functions, much of this is based on Fedor Indutny's work on indutny/tls.js. An 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. All places in this project that involve DSA verification of user-input signatures will be affected by this vulnerability. This issue has been patched in version 4.2.2.
- Record
DEBIAN-CVE-2023-46234- CVSS 3.1
- 7.5 High
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:N - Updated
- 2026-11-02
OSVGHSA-x9w5-v3q2-3rhw
7.5
browserify-sign upper bound check issue in `dsaVerify` leads to a signature forgery attack
Summary
An 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.
Details
In 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.
In 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.
Impact
All places in this project that involve DSA verification of user-input signatures will be affected by this vulnerability.
Fix PR:
Since the temporary private fork was deleted, here's a webarchive of the PR discussion and diff pages: PR webarchive.zip
- Record
GHSA-x9w5-v3q2-3rhw- CVSS 3.1
- 7.5 High
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:N - Weakness
- CWE-347
- Updated
- 2026-11-02
OSVUBUNTU-CVE-2023-46234
7.5
browserify-sign is a package to duplicate the functionality of node's crypto public key functions, much of this is based on Fedor Indutny's work on indutny/tls.js. An 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. All places in this project that involve DSA verification of user-input signatures will be affected by this vulnerability. This issue has been patched in version 4.2.2.
- Record
UBUNTU-CVE-2023-46234- CVSS 3.1
- 7.5 High
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:N - CVSS 3.1
- 6.5 Medium
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:L/A:N - Updated
- 2026-11-02
OSVCLSA-2026-1782521955 No score
TuxCare security update for browserify-sign (1 CVE)
TuxCare rebuilt browserify-sign to address 1 CVE. Fixed in 4.0.4-tuxcare.1.
- Record
CLSA-2026-1782521955- Updated
- 2026-11-02
OSVCLSA-2026-1782521956 No score
TuxCare security update for browserify-sign (1 CVE)
TuxCare rebuilt browserify-sign to address 1 CVE. Fixed in 4.2.1-tuxcare.1.
- Record
CLSA-2026-1782521956- Updated
- 2026-11-02
OSVMGASA-2025-0194 No score
Updated yarnpkg packages fix security vulnerabilities
CVE-2024-37890 yarnpkg: denial of service when handling a request with many HTTP headers. CVE-2024-48949 yarnpkg: Missing Validation in Elliptic's EDDSA Signature Verification. CVE-2024-12905 yarnpkg: link following and path traversal via maliciously crafted tar file And other vulnerabilities in the yarn's bundled nodejs components are fixed too, see the references.
- Record
MGASA-2025-0194- Updated
- 2026-11-02
OSVopenSUSE-SU-2025:14663-1 No score
velociraptor-0.7.0.4.git142.862ef23-1.1 on GA media
These are all security issues fixed in the velociraptor-0.7.0.4.git142.862ef23-1.1 package on the GA media of openSUSE Tumbleweed.
- Record
openSUSE-SU-2025:14663-1- Updated
- 2026-11-02
OSVROOT-APP-NPM-CVE-2023-46234 No score
CVE-2023-46234 in browserify-sign - Patched by Root
Root has patched CVE-2023-46234 in the browserify-sign package for Root:npm. Multiple fixed versions available.
- Record
ROOT-APP-NPM-CVE-2023-46234- Updated
- 2026-11-02
OSVUSN-6800-1 No score
node-browserify-sign vulnerability
It was discovered that browserify-sign incorrectly handled an upper bound check in signature verification. If a user or an automated system were tricked into opening a specially crafted input file, a remote attacker could possibly use this issue to perform a signature forgery attack.
- Record
USN-6800-1- Updated
- 2026-11-02
Affected products
Affected packages
| Package | Affected | Fixed |
|---|---|---|
browserify-signnpm |
2.6.0 to 4.2.1 | 4.2.2 |
reaperAzure Linux:2 |
before 3.1.1-9 | 3.1.1-9 |
browserify-signTuxCare:npm |
4.0.4-tuxcare.0 up to 4.0.4-tuxcare.1, plus listed versions 4.0.4 |
4.0.4-tuxcare.1 |
browserify-signTuxCare:npm |
4.2.1-tuxcare.0 up to 4.2.1-tuxcare.1, plus listed versions 4.2.1 |
4.2.1-tuxcare.1 |
node-browserify-signDebian:12 |
before 4.2.1-3+deb12u1, plus listed versions 4.2.1-3 |
4.2.1-3+deb12u1 |
node-browserify-signDebian:13 |
before 4.2.2-1 | 4.2.2-1 |
node-browserify-signDebian:14 |
before 4.2.2-1 | 4.2.2-1 |
node-browserify-signDebian:10 |
before 4.0.4-2+deb10u1, plus listed versions 4.0.4-2 |
4.0.4-2+deb10u1 |
node-browserify-signDebian:11 |
before 4.2.1-1+deb11u1, plus listed versions 4.2.1-1 |
4.2.1-1+deb11u1 |
browserify-signnpm |
2.6.0 up to 4.2.2 | 4.2.2 |
Show 7 moreShow less
| Package | Affected | Fixed |
|---|---|---|
yarnpkgMageia:9 From an advisory covering 11 CVEs |
before 1.22.22-0.10.9.2.1.mga9 | 1.22.22-0.10.9.2.1.mga9 |
browserify-signRoot:npm |
before 4.2.0-aikido.1 | 4.2.0-aikido.1 |
@rootio/browserify-signRoot:npm |
before 4.2.0-root.io.1 | 4.2.0-root.io.1 |
node-browserify-signUbuntu:Pro:18.04:LTS |
before 4.0.4-2ubuntu0.18.04.1~esm1, plus listed versions 4.0.4-1ubuntu14.0.4-2 |
4.0.4-2ubuntu0.18.04.1~esm1 |
node-browserify-signUbuntu:20.04:LTS |
before 4.0.4-2ubuntu0.20.04.1, plus listed versions 4.0.4-2 |
4.0.4-2ubuntu0.20.04.1 |
node-browserify-signUbuntu:22.04:LTS |
before 4.2.1-2ubuntu0.1, plus listed versions 4.2.1-14.2.1-2 |
4.2.1-2ubuntu0.1 |
velociraptoropenSUSE:Tumbleweed From an advisory covering 27 CVEs |
before 0.7.0.4.git142.862ef23-1.1 | 0.7.0.4.git142.862ef23-1.1 |
History
| Recorded | Changed | Sources |
|---|---|---|
| affected, facts | ||
| aliases, published | EUVD | |
| first indexed | CVE List, GitHub Advisories, NVD, OSV |
Dates are when Every CVE recorded each change. Upstream dates may differ.
In short
CVE-2023-46234 is a medium vulnerability (CVSS 6.5) in Browserify Browserify-sign, published October 26, 2023. No source lists public exploit code. EPSS puts the chance of exploitation in the next 30 days at 0.56%, the 47th percentile. Fixed in browserify-sign 4.2.2.
References
github.com/browserify/browserify-sign/security/advisories/GHSA-x9w5-v3q2-3rhw
github.com/browserify/browserify-sign/commit/85994cd6348b50f2fd1b73c54e20881416f44a30
lists.debian.org/debian-lts-announce/2023/10/msg00040.html
debian.org/security/2023/dsa-5539
lists.fedoraproject.org/archives/list/[email protected]/message/6PVVPNSAGSDS63HQ74PJ7MZ3MU5IYNVZ
lists.fedoraproject.org/archives/list/[email protected]/message/3HUE6ZR5SL73KHL7XUPAOEL6SB7HUDT2
Show 40 moreShow less
nvd.nist.gov/vuln/detail/CVE-2023-46234
github.com/advisories/GHSA-x9w5-v3q2-3rhw
github.com/CVEProject/cvelistV5/tree/main/cves/2023/46xxx/CVE-2023-46234.json
security-tracker.debian.org/tracker/CVE-2023-46234
github.com/browserify/browserify-sign
advisories.mageia.org/MGASA-2025-0194.html
bugs.mageia.org/show_bug.cgi?id=33674
lists.fedoraproject.org/archives/list/[email protected]/message/2UGLXZO6VIHGIITQTEUY5Q5YCAP2A4ZP
lists.fedoraproject.org/archives/list/[email protected]/message/VEDIJM7VQF4Q2L2KKQ6KJ2WZNR7AXYQD
ubuntu.com/security/CVE-2023-46234
cve.org/CVERecord?id=CVE-2023-46234
ubuntu.com/security/notices/USN-6800-1
lists.opensuse.org/archives/list/[email protected]/thread/IL7QOYRPFRGRS6UKU6ZYHI76FWFFUJNK
suse.com/security/cve/CVE-2023-1732
suse.com/security/cve/CVE-2023-44270
suse.com/security/cve/CVE-2023-45133
suse.com/security/cve/CVE-2023-45683
suse.com/security/cve/CVE-2023-46234
suse.com/security/cve/CVE-2024-21538
suse.com/security/cve/CVE-2024-23331
suse.com/security/cve/CVE-2024-24786
suse.com/security/cve/CVE-2024-28180
suse.com/security/cve/CVE-2024-31207
suse.com/security/cve/CVE-2024-37298
suse.com/security/cve/CVE-2024-4067
suse.com/security/cve/CVE-2024-4068
suse.com/security/cve/CVE-2024-42459
suse.com/security/cve/CVE-2024-42460
suse.com/security/cve/CVE-2024-42461
suse.com/security/cve/CVE-2024-45296
suse.com/security/cve/CVE-2024-45338
suse.com/security/cve/CVE-2024-45811
suse.com/security/cve/CVE-2024-45812
suse.com/security/cve/CVE-2024-47068
suse.com/security/cve/CVE-2024-47875
suse.com/security/cve/CVE-2024-48948
suse.com/security/cve/CVE-2024-48949
suse.com/security/cve/CVE-2024-51744
suse.com/security/cve/CVE-2024-55565
suse.com/security/cve/CVE-2024-6104