Home

Description

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.

PUBLISHED Reserved 2026-07-06 | Published 2026-07-07 | Updated 2026-07-08 | Assigner CPANSec

Problem types

CWE-1333 Inefficient Regular Expression Complexity

Product status

Default status
unaffected

Any version before 1.36
affected

References

www.openwall.com/lists/oss-security/2026/07/07/18

github.com/...f8150867aaeb8f57c59601aefb2193f2caed8745.patch patch

metacpan.org/...ng-Util-1.36/diff/BAKERSCOT/String-Util-1.35

github.com/scottchiefbaker/String-Util/releases release-notes

cve.org (CVE-2026-14895)

nvd.nist.gov (CVE-2026-14895)

Download JSON