Description
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.
Published: 2026-10-21
Score: 7.3 High
EPSS: < 1% Very Low
KEV: No
Impact: Unauthorized blocking of legitimate traffic
Action: Immediate Patch
AI Analysis

Impact

Robots::Validate uses a pure-Perl Aho-Corasick automaton that retains its match state between User-Agent headers. When a request's User-Agent string ends in the middle of a known robot name, the internal state remains in a mid-match state. The next request's User-Agent can then complete that robot name, causing the client to be mistakenly identified as an imposter robot and blocked. This flaw allows a remote user to induce false positive robot detections without authentication and leads to denial of service for legitimate visitors whose User-Agent prefixes match robot suffixes.

Affected Systems

Perl report clients that rely on Robots::Validate version 0.4.3 through 0.4.9, and any installations using Algorithm::AhoCorasick::XS which were also affected due to a separate bug preventing the alternate matcher from being used. Versions 0.4.10 and later, including 0.4.11 for Algorithm::AhoCorasick::XS, contain the necessary fix.

Risk and Exploitability

The vulnerability can be exploited by any remote client capable of sending HTTP requests with crafted User-Agent headers; no authentication is required. The CVSS score of 7.3 indicates high severity, and the EPSS score of < 1% suggests low likelihood of current exploitation, but the flaw permits an attacker to block legitimate traffic by exploiting the stateful nature of the matcher. It is not listed in CISA’s KEV catalog. The risk is moderate to high for sites that depend on Robots::Validate for robot filtering.

Generated by OpenCVE AI on October 30, 2026 at 19:32 UTC.

Remediation

Vendor Solution

Upgrade to Robots-Validate v0.4.10 or later. Deployments with Algorithm::AhoCorasick::XS should upgrade to v0.4.11, which fixed a bug with using that version.


OpenCVE Recommended Actions

  • Upgrade Robots::Validate to version 0.4.10 or later; for deployments that use Algorithm::AhoCorasick::XS also upgrade to 0.4.11
  • If an upgrade cannot be applied immediately, instantiate a new Robots::Validate object for each incoming request or explicitly reset its internal matcher state after handling a User-Agent to prevent carryover of partial matches
  • Continuously monitor application logs for unexpected robot block events and, until a permanent fix is applied, consider temporarily disabling or bypassing Robots::Validate for requests with suspicious User-Agent prefixes to avoid service interruption

Generated by OpenCVE AI on October 30, 2026 at 19:32 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

History

Fri, 30 Oct 2026 18:30:00 +0000

Type Values Removed Values Added
Metrics cvssV3_1

{'score': 7.3, 'vector': 'CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:L/A:L'}

ssvc

{'options': {'Automatable': 'yes', 'Exploitation': 'none', 'Technical Impact': 'partial'}, 'version': '2.0.3'}


Thu, 22 Oct 2026 11:00:00 +0000

Type Values Removed Values Added
First Time appeared Robrwo
Robrwo robots::validate
Vendors & Products Robrwo
Robrwo robots::validate

Thu, 22 Oct 2026 01:30:00 +0000

Type Values Removed Values Added
References

Wed, 21 Oct 2026 22:00:00 +0000

Type Values Removed Values Added
Description 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.
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
Weaknesses CWE-488
References

Subscriptions

Robrwo Robots::validate
cve-icon MITRE

Status: PUBLISHED

Assigner: CPANSec

Published:

Updated: 2026-10-30T17:25:36.728Z

Reserved: 2026-10-19T21:17:46.149Z

Link: CVE-2026-112921

cve-icon Vulnrichment

Updated: 2026-10-22T00:16:41.831Z

cve-icon NVD

Status : Deferred

Published: 2026-10-21T22:16:48.527

Modified: 2026-10-30T18:17:21.773

Link: CVE-2026-112921

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-10-30T19:45:14Z

Weaknesses
  • CWE-488

    Exposure of Data Element to Wrong Session