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
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.
CVE-2026-112921
Primary source · Revision 1
Imported from structured advisory data. Source references identify upstream records or fields; verify affected versions and your deployed configuration.
Security context
Source reference: cve:CVE-2026-112921
Structured affected-version data
Original package identities and version rules from this source.
[
{
"repo": "https://github.com/robrwo/Robots-Validate",
"modules": [
"Robots::Validate"
],
"versions": [
{
"status": "affected",
"version": "0.4.3",
"lessThan": "0.4.10",
"versionType": "custom"
}
],
"packageURL": "pkg:cpan/Robots-Validate",
"packageName": "Robots-Validate",
"programFiles": [
"lib/Robots/Validate.pm"
],
"collectionURL": "https://cpan.org/modules",
"defaultStatus": "unaffected",
"programRoutines": [
{
"name": "Robots::Validate::validate"
},
{
"name": "Robots::Validate::bad_robot"
}
]
}
]- Related CVEs
- CVE-2026-112921
Source reference:
/cveMetadata/cveId
Publisher severity
No explicit severity was provided.
- Event
- #50033 · Revision 1
- Added to Heist Feed
- Publisher date