Description
Algorithm::UrataniTakeda versions from 0.1.5 before 0.1.7 for Perl allow memory exhaustion via a never-cleared failure shift cache in search.
The failure shift is cached for each pair of trie state and text character in a field of the matcher object, and nothing clears it. A character not seen before at a given state adds an entry that lasts for the life of the matcher.
An attacker who can submit text with many distinct characters to a long-lived matcher can grow its memory with each search.
Affected products
| Vendor | Product | Affected | Fixed |
|---|---|---|---|
| — | Algorithm-UrataniTakeda | 0.1.5 – < 0.1.7 | 0.1.7 |
References
- https://github.com/robrwo/perl-Algorithm-UrataniTakeda/security/advisories/GHSA-9vcx-647w-pr3h vendor-advisory
- https://metacpan.org/release/RRWO/Algorithm-UrataniTakeda-v0.1.7/changes release-notes
- https://github.com/robrwo/perl-Algorithm-UrataniTakeda/commit/79897ef86a5a9bb6bc381718fe977c8150bc3d5b.patch patch