CVE-2026-14895
N/A
Summary
String::Util versions before 1.36 for Perl are susceptible to a regular expression denial of service.
The trim and rtrim functions stripped trailing whitespace with s/\s*$//u. Because \s* matches greedily and the $ anchor fails whenever a non-whitespace character follows the whitespace, the regex engine retries the match at each offset of a long whitespace run, producing quadratic backtracking. The fix replaces \s*$ with \s+$.
Any caller that passes untrusted input to trim or rtrim can trigger CPU exhaustion with a string containing a long run of whitespace.
Affected Software
| Vendor | Product | Version Range | Status |
|---|---|---|---|
| BAKERSCOT | String::Util | 0 < 1.36 | affected |
Weaknesses
- CWE-1333: CWE-1333 Inefficient Regular Expression Complexity
Workarounds
For deployments that cannot upgrade, enforce a maximum length on strings before passing them to the trim and rtrim functions.
Note that the HTML form field maxlength attribute is only enforced client-side.
ADP Enrichment
CVE Program Container
Additional References
References
- https://github.com/scottchiefbaker/String-Util/commit/f8150867aaeb8f57c59601aefb2193f2caed8745.patch
- https://metacpan.org/release/BAKERSCOT/String-Util-1.36/diff/BAKERSCOT/String-Util-1.35#lib/String/Util.pm
- https://github.com/scottchiefbaker/String-Util/releases
Feedback
Was this page helpful?
Glad to hear it! Please tell us how we can improve.
Sorry to hear that. Please tell us how we can improve.