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.
Metrics
Affected Vendors & Products
References
History
Fri, 10 Jul 2026 10:15:00 +0000
| Type | Values Removed | Values Added |
|---|---|---|
| First Time appeared |
Bakerscot
Bakerscot string::util |
|
| Vendors & Products |
Bakerscot
Bakerscot string::util |
Wed, 08 Jul 2026 15:30:00 +0000
| Type | Values Removed | Values Added |
|---|---|---|
| Metrics |
cvssV3_1
|
Tue, 07 Jul 2026 22:45:00 +0000
| Type | Values Removed | Values Added |
|---|---|---|
| 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. | |
| Title | String::Util versions before 1.36 for Perl are susceptible to a regular expression denial of service | |
| Weaknesses | CWE-1333 | |
| References |
|
Status: PUBLISHED
Assigner: CPANSec
Published: 2026-07-07T22:12:22.460Z
Updated: 2026-07-08T14:05:18.813Z
Reserved: 2026-07-06T18:31:10.251Z
Link: CVE-2026-14895
Updated: 2026-07-08T00:28:33.750Z
No data.
No data.