CVE-2026-55520
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:P/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N
Summary
Protego is a pure-Python robots.txt parser with support for modern conventions. Prior to 0.6.2, protego._urlpattern._URLPattern._prepare_pattern_for_regex translates every asterisk in an Allow or Disallow directive into a lazy regular-expression wildcard, so a directive containing many asterisks creates exponential backtracking. After protego.Protego.parse processes a crafted robots.txt file, protego.Protego.can_fetch can spend an attacker-controlled period matching a near-miss URL and deny service to the crawler. The vulnerable path is src/protego/_urlpattern.py in the _URLPattern match logic. This issue is fixed in version 0.6.2.
Affected Software
| Vendor | Product | Version Range | Status |
|---|---|---|---|
| scrapy | protego | < 0.6.2 | affected |
Weaknesses
- CWE-400: CWE-400: Uncontrolled Resource Consumption
- CWE-1333: CWE-1333: Inefficient Regular Expression Complexity
References
- https://github.com/scrapy/protego/security/advisories/GHSA-wjmf-p669-5m5p
- https://github.com/scrapy/protego/commit/785940181659bf440ba82f1da148fade5087e858
- https://github.com/scrapy/protego/releases/tag/0.6.2
Feedback
Was this page helpful?
Glad to hear it! Please tell us how we can improve.
Sorry to hear that. Please tell us how we can improve.