Description
The "%xx" URL decoding function in Squid 2.5STABLE4 and earlier allows remote attackers to bypass url_regex ACLs via a URL with a NULL ("%00") character, which causes Squid to use only a portion of the requested URL when comparing it against the access control lists.
Fixed in Linux distributions
Distributions backport fixes, so the version that fixes this vulnerability differs per release — upgrade to at least the version shown. From the distributions' security trackers and advisories.
Debian
Security tracker ↗| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| Debian 14 | squid | 2.5.5-1 | — |
| Debian 13 | squid | 2.5.5-1 | — |
| Debian 12 | squid | 2.5.5-1 | — |
| Debian 3.0 | squid | 2.4.6-2woody2 | DSA-474 |
Red Hat
Security tracker ↗| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| RHEL 3 | squid | 7:2.5.STABLE3-5.3E | RHSA-2004:133 |
Public exploits
Exploit or proof-of-concept code for this vulnerability is publicly available, which lowers the bar for attackers. Treat it as a reason to patch sooner.
Exploit-DB 1
- Squid Proxy 2.4/2.5 - NULL URL Character Unauthorized Access EDB-23777 · remote · Mar 1, 2004 · verified
Sources: PoC-in-GitHub, Metasploit Framework, Exploit-DB — updated daily. Only links are listed; no exploit code is hosted here.
Advisories 2
- RHSA-2004:133 Red Hat Security Advisory: squid security update Red Hat Security Advisories (RHSA) · Jun 26, 2026
- DSA-474 squid - ACL bypass Debian Security (DSA / DLA) · Mar 9, 2026
References
- http://www.squid-cache.org/Advisories/SQUID-2004_1.txt
- squid-urlregex-acl-bypass(15366) vdb-entry
- DSA-474 vendor-advisory
- oval:org.mitre.oval:def:877 vdb-entry signature
- 9778 vdb-entry
- MDKSA-2004:025 vendor-advisory
- oval:org.mitre.oval:def:941 vdb-entry signature
- RHSA-2004:133 vendor-advisory
- RHSA-2004:134 vendor-advisory
- 20040401 [OpenPKG-SA-2004.008] OpenPKG Security Advisory (squid) mailing-list
- GLSA-200403-11 vendor-advisory
- CLA-2004:838 vendor-advisory
- 5916 vdb-entry