Perl Algorithm::UrataniTakeda before 0.1.7 can exhaust memory
Versions from 0.1.5 before 0.1.7 keep a failure shift cache that is never cleared during search.
32
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.
Versions from 0.1.5 before 0.1.7 keep a failure shift cache that is never cleared during search.
Today 1.6K readers · 2.5K views · 779 reads · all time 189K views