Description
N3.js before 2.11.1 contains a regular expression denial of service vulnerability in the N3Lexer number pattern that backtracks quadratically on long digit runs. Attackers can supply untrusted Turtle or N3 input containing long runs of digits that do not end a number, blocking the Node.js event loop and causing denial of service.
Affected products
| Vendor | Product | Affected | Fixed |
|---|---|---|---|
| rdfjs | N3.js | < 2.11.1 | 2.11.1 |
Fixed in Linux distributions
Distributions backport fixes, so the version that fixes this vulnerability differs per release — upgrade to at least the version shown. From the distributions' security trackers and advisories.
Debian
Security tracker ↗| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| Debian 14 | node-n3 | No fix yet | — |
| Debian 13 | node-n3 | No fix yet | — |
| Debian 12 | node-n3 | No fix yet | — |
Ubuntu
Security tracker ↗| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| Ubuntu 26.10 | node-n3 | No fix yet | — |
| Ubuntu 26.04 LTS | node-n3 | No fix yet | — |
| Ubuntu 24.04 LTS | node-n3 | No fix yet | — |
| Ubuntu 22.04 LTS | node-n3 | No fix yet | — |
| Ubuntu 20.04 LTS | node-n3 | No fix yet | — |
References
- GitHub Pull Request #760 issue-tracking patch
- Patch Commit patch
- https://github.com/rdfjs/N3.js product
- VulnCheck Advisory: N3.js before 2.11.1 ReDoS via N3Lexer Numeric-Literal Regex third-party-advisory