figlet is vulnerable to denial of service via unbounded loop when whitespaceBreak is used with a small width
### Impact A denial-of-service (infinite loop) can occur in `text()` / `textSync()` when **both**: - `whitespaceBreak: true` is set, **and** - `width` is set smaller than the rendered width of a single FIGlet character. Under these conditions `breakWord()` could never find a valid break point, so the word-wrapping loop in `generateFigTextLines()` never terminated. This pins a CPU core and grows memory without bound, blocking the Node.js event loop. ### Severity Low or Medium. Triggering requires a non-default configuration (`whitespaceBreak: true`) and an attacker-controlled `width` value reaching `text()`/`textSync()`. This library is typically used with fixed options, where this is not reachable. Applications that pass an untrusted `width` together with `whitespaceBreak` on a request path are affected. ### Patches Fixed in **figlet 1.11.3**. `breakWord()` now always makes forward progress (emitting an over-wide character on its own line), and FIGlet header parsing now rejects invalid values (e.g. zero/negative height). ### Workarounds Do not expose `width` to untrusted input, or leave `whitespaceBreak` disabled (the default), or upgrade to 1.11.3.
GHSA-62ch-8vmq-8xm7
Primary source · Revision 1
Imported from structured advisory data. Source references identify upstream records or fields; verify affected versions and your deployed configuration.
Security context
Source reference: osv:GHSA-62ch-8vmq-8xm7
figlet
Source reference: /affected/0/package/name
- Affected versions
- Not stated in this record
- Fixed versions
- 1.11.3
Source reference:
/affected/0/ranges - Prerequisites
- Not stated in this record
Structured affected-version data
Original package identities and version rules from this source.
[
{
"ranges": [
{
"type": "SEMVER",
"events": [
{
"introduced": "0"
},
{
"fixed": "1.11.3"
}
]
}
],
"package": {
"name": "figlet",
"purl": "pkg:npm/figlet",
"ecosystem": "npm"
},
"database_specific": {
"source": "https://github.com/github/advisory-database/blob/main/advisories/github-reviewed/2026/10/GHSA-62ch-8vmq-8xm7/GHSA-62ch-8vmq-8xm7.json"
}
}
]- Related CVEs
- CVE-2026-96780
Source reference:
/aliases
Publisher severity
high
Source reference: /database_specific/severity
- Event
- #72190 · Revision 1
- Added to Heist Feed
- Publisher date