Repository navigation
Release v1.9.0
v1.9.0
Changelog
Security: URLs whose authority PHP and QR scanners read differently (backslash, userinfo, control chars) are rejected. See UPGRADING.
Security
- URL allowlist bypass through ambiguous authorities.
QrUrlPolicytook the host from PHPparse_url(), which
reads backslashes and userinfo differently from browsers and QR scanners:https://evil.tld\.good.com/(host
evil.tld\.good.comfor PHP) andhttps://evil.tld\@good.com/(hostgood.comfor PHP) passed agood.com
allowlist but openevil.tldon a phone, defeating the anti-phishing allowlist for user-supplied URLs. URLs with a
backslash, control character or whitespace, with userinfo (user@,user:pass@), or whose host is not a plain DNS
name / IPv4 / bracketed IPv6 literal (percent-encoded or Unicode hosts) are now rejected, with or without an
allowlist. See UPGRADING.