Live › vulnerability › CVE-2026-112921
Go to dashboardRobots::Validate for Perl keeps Aho-Corasick matcher state between User-Agent checks on the same object. A crafted User-Agent can leave that state half-matched so the next visitor's User-Agent is wrongly treated as an impostor robot and blocked.
Summary written from the sources below. Check the originals before acting.
First seen by InfraStack 2026-10-23 21:57 UTC. All times on this page are UTC.
Sites that use Robots::Validate to block impostor robots, where the same validator object handles many requests. Per the sources, installing Algorithm::AhoCorasick::XS does not avoid it. Sites that do not use this module are not affected.
No product ranges from the sources yet.
perl -MRobots::Validate -e 'print $Robots::Validate::VERSION'0.4.10 or laterEach row is the first time that source carried this signal. The analyst’s rows are its own findings.
Robots::Validate versions from 0.4.3 before 0.4.10 for Perl report clients as imposter robots when User-Agent matcher state carries over from a previous request.
Each Robots::Validate object holds one pure-Perl Aho-Corasick search machine and feeds every User-Agent into it without resetting its state. A User-Agent that ends part-way through a robot name leaves the machine mid-match, so the next User-Agent checked by the same object can complete that name. That client's address is then checked against the robot's DNS rule, which it fails.
A remote client can use this to make a site that blocks bad robots block other visitors where the prefix User-Agent string is a suffix of a robot being validated.
Note that deployments with Algorithm::AhoCorasick::XS are also affected, since it was unused due to a different bug.
This page as .md · .json · in your agent: get_signal("CVE-2026-112921")
NVD data is provided by NIST and is public domain · EPSS scores by FIRST, used with attribution. Posts quoted belong to their authors.