Title: Bump node-forge from 1.3.3 to 1.4.0 by dependabot[bot] · Pull Request #3775 · github/codeql-action · GitHub
Open Graph Title: Bump node-forge from 1.3.3 to 1.4.0 by dependabot[bot] · Pull Request #3775 · github/codeql-action
X Title: Bump node-forge from 1.3.3 to 1.4.0 by dependabot[bot] · Pull Request #3775 · github/codeql-action
Description: Bumps node-forge from 1.3.3 to 1.4.0.
Changelog
Sourced from node-forge's changelog.
1.4.0 - 2026-03-24
Security
HIGH: Denial of Service in BigInteger.modInverse()
A Denial of Service (DoS) vulnerability exists due to an infinite loop in
the BigInteger.modInverse() function (inherited from the bundled jsbn
library). When modInverse() is called with a zero value as input, the
internal Extended Euclidean Algorithm enters an unreachable exit condition,
causing the process to hang indefinitely and consume 100% CPU.
Reported by Kr0emer.
CVE ID: CVE-2026-33891
GHSA ID: GHSA-5gfm-wpxj-wjgq
HIGH: Signature forgery in RSA-PKCS due to ASN.1 extra field.
RSASSA PKCS#1 v1.5 signature verification accepts forged signatures for low
public exponent keys (e=3). Attackers can forge signatures by stuffing
"garbage" bytes within the ASN.1 structure in order to construct a
signature that passes verification, enabling Bleichenbacher style forgery.
This issue is similar to CVE-2022-24771, but adds bytes in an addition
field within the ASN.1 structure, rather than outside of it.
Additionally, forge does not validate that signatures include a minimum of
8 bytes of padding as defined by the specification, providing attackers
additional space to construct Bleichenbacher forgeries.
Reported as part of a U.C. Berkeley security research project by:
Austin Chu, Sohee Kim, and Corban Villa.
CVE ID: CVE-2026-33894
GHSA ID: GHSA-ppp5-5v6c-4jwp
HIGH: Signature forgery in Ed25519 due to missing S < L check.
Ed25519 signature verification accepts forged non-canonical signatures
where the scalar S is not reduced modulo the group order (S >= L). A valid
signature and its S + L variant both verify in forge, while Node.js
crypto.verify (OpenSSL-backed) rejects the S + L variant, as defined by the
specification. This class of signature malleability has been exploited in
practice to bypass authentication and authorization logic (see
CVE-2026-25793, CVE-2022-35961). Applications relying on signature
uniqueness (i.e., dedup by signature bytes, replay tracking, signed-object
canonicalization checks) may be bypassed.
Reported as part of a U.C. Berkeley security research project by:
Austin Chu, Sohee Kim, and Corban Villa.
CVE ID: CVE-2026-33895
GHSA ID: GHSA-q67f-28xg-22rw
HIGH: basicConstraints bypass in certificate chain verification.
pki.verifyCertificateChain() does not enforce RFC 5280 basicConstraints
requirements when an intermediate certificate lacks both the
basicConstraints and keyUsage extensions. This allows any leaf
certificate (without these extensions) to act as a CA and sign other
certificates, which node-forge will accept as valid.
Reported by Doruk Tan Ozturk (@peaktwilight) - doruk.ch
CVE ID: CVE-2026-33896
GHSA ID: GHSA-2328-f5f3-gj25
... (truncated)
Commits
fa385f9 Release 1.4.0.
07d4e16 Update changelog.
cb90fd9 Update changelog.
963e7c5 Add unit test for "pseudonym"
f0b6f5b Add pseudonym OID
3df48a3 Fix missing CVE ID.
2e49283 Add x509 basicConstraints check.
bdecf11 Add canonical signature scaler check for S < L.
af094e6 Add RSA padding and DigestInfo length checks.
796eeb1 Improve jsbn fix.
Additional commits viewable in compare view
Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR:
@dependabot rebase will rebase this PR
@dependabot recreate will recreate this PR, overwriting any edits that have been made to it
@dependabot show
Open Graph Description: Bumps node-forge from 1.3.3 to 1.4.0. Changelog Sourced from node-forge's changelog. 1.4.0 - 2026-03-24 Security HIGH: Denial of Service in BigInteger.modInverse() A Denial of Service (DoS)...
X Description: Bumps node-forge from 1.3.3 to 1.4.0. Changelog Sourced from node-forge's changelog. 1.4.0 - 2026-03-24 Security HIGH: Denial of Service in BigInteger.modInverse() A Denial of Service (...
Opengraph URL: https://github.com/github/codeql-action/pull/3775
X: @github
Domain: github.com
| route-pattern | /:user_id/:repository/pull/:id/files(.:format) |
| route-controller | pull_requests |
| route-action | files |
| fetch-nonce | v2:1e4db17e-9066-527b-4562-899890c5a1fb |
| current-catalog-service-hash | ae870bc5e265a340912cde392f23dad3671a0a881730ffdadd82f2f57d81641b |
| request-id | 9C3A:312530:20436A6:2D7F2F8:6A4CD683 |
| html-safe-nonce | b5606179c281088d3b7d0f227b4f1b8a2e6c585a8a508994a903eb4e13d56b46 |
| visitor-payload | eyJyZWZlcnJlciI6IiIsInJlcXVlc3RfaWQiOiI5QzNBOjMxMjUzMDoyMDQzNkE2OjJEN0YyRjg6NkE0Q0Q2ODMiLCJ2aXNpdG9yX2lkIjoiODE3MzEwNjM3MjczNDE0NjE3OSIsInJlZ2lvbl9lZGdlIjoiaWFkIiwicmVnaW9uX3JlbmRlciI6ImlhZCJ9 |
| visitor-hmac | 1e17c1bde953813c86870e63208096c95983c24afbfd535f1d0fcd72fbeb5426 |
| hovercard-subject-tag | pull_request:3456200248 |
| github-keyboard-shortcuts | repository,pull-request-list,pull-request-conversation,pull-request-files-changed,copilot |
| google-site-verification | Apib7-x98H0j5cPqHWwSMm6dNU4GmODRoqxLiDzdx9I |
| octolytics-url | https://collector.github.com/github/collect |
| analytics-location | / |
| fb:app_id | 1401488693436528 |
| apple-itunes-app | app-id=1477376905, app-argument=https://github.com/github/codeql-action/pull/3775/files |
| twitter:image | https://avatars.githubusercontent.com/in/29110?s=400&v=4 |
| twitter:card | summary_large_image |
| og:image | https://avatars.githubusercontent.com/in/29110?s=400&v=4 |
| og:image:alt | Bumps node-forge from 1.3.3 to 1.4.0. Changelog Sourced from node-forge's changelog. 1.4.0 - 2026-03-24 Security HIGH: Denial of Service in BigInteger.modInverse() A Denial of Service (DoS)... |
| og:site_name | GitHub |
| og:type | object |
| hostname | github.com |
| expected-hostname | github.com |
| None | 299b43bca6e02ad35197ffeba30d2466846d5fb02ab96fbced5b5e6cec589fb8 |
| turbo-cache-control | no-preview |
| diff-view | unified |
| go-import | github.com/github/codeql-action git https://github.com/github/codeql-action.git |
| octolytics-dimension-user_id | 9919 |
| octolytics-dimension-user_login | github |
| octolytics-dimension-repository_id | 259445878 |
| octolytics-dimension-repository_nwo | github/codeql-action |
| octolytics-dimension-repository_public | true |
| octolytics-dimension-repository_is_fork | false |
| octolytics-dimension-repository_network_root_id | 259445878 |
| octolytics-dimension-repository_network_root_nwo | github/codeql-action |
| turbo-body-classes | logged-out env-production page-responsive full-width |
| disable-turbo | true |
| browser-stats-url | https://api.github.com/_private/browser/stats |
| browser-errors-url | https://api.github.com/_private/browser/errors |
| release | 3eeb74f55ccd8a31bdaec6839577c592bbf7844c |
| ui-target | full |
| theme-color | #1e2327 |
| color-scheme | light dark |
Links:
Viewport: width=device-width