{"dataType":"CVE_RECORD","dataVersion":"5.2","cveMetadata":{"cveId":"CVE-2026-112921","assignerOrgId":"9b29abf9-4ab0-4765-b253-1875cd9b441e","state":"PUBLISHED","assignerShortName":"CPANSec","dateReserved":"2026-10-19T21:17:46.149Z","datePublished":"2026-10-21T21:37:54.278Z","dateUpdated":"2026-10-21T21:37:54.278Z"},"containers":{"cna":{"affected":[{"collectionURL":"https://cpan.org/modules","defaultStatus":"unaffected","modules":["Robots::Validate"],"packageName":"Robots-Validate","packageURL":"pkg:cpan/Robots-Validate","programFiles":["lib/Robots/Validate.pm"],"programRoutines":[{"name":"Robots::Validate::validate"},{"name":"Robots::Validate::bad_robot"}],"repo":"https://github.com/robrwo/Robots-Validate","versions":[{"lessThan":"0.4.10","status":"affected","version":"0.4.3","versionType":"custom"}]}],"descriptions":[{"lang":"en","value":"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.\n\nEach 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.\n\nA 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.\n\nNote that deployments with Algorithm::AhoCorasick::XS are also affected, since it was unused due to a different bug."}],"problemTypes":[{"descriptions":[{"cweId":"CWE-488","description":"CWE-488 Exposure of Data Element to Wrong Session","lang":"en","type":"CWE"}]}],"providerMetadata":{"orgId":"9b29abf9-4ab0-4765-b253-1875cd9b441e","shortName":"CPANSec","dateUpdated":"2026-10-21T21:37:54.278Z"},"references":[{"tags":["patch"],"url":"https://github.com/robrwo/Robots-Validate/commit/776a1456e6605492b7582ed25d3d5006ef384402.patch"},{"tags":["release-notes"],"url":"https://metacpan.org/release/RRWO/Robots-Validate-v0.4.10/changes"},{"tags":["release-notes"],"url":"https://metacpan.org/release/RRWO/Robots-Validate-v0.4.11/changes"}],"solutions":[{"lang":"en","value":"Upgrade to Robots-Validate v0.4.10 or later.\n\nDeployments with Algorithm::AhoCorasick::XS should upgrade to v0.4.11, which fixed a bug with using that version."}],"source":{"discovery":"UNKNOWN"},"title":"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","x_generator":{"engine":"cpansec-cna-tool 0.1"}}}}