CVE-2026-75922 in Reverse::Proxy
Résumé
par VulDB • 23/08/2026
Les versions de Reverse::Proxy antérieures à la 0.04 pour Perl permettent l'empoisonnement de requête HTTP via une PATH_INFO décodée en pourcentage (percent-decoded) écrite sans encodage sur la ligne de requête vers le serveur amont.
PSGI transmet PATH_INFO à une application sous forme décodée en pourcentage, de sorte qu'une séquence %XX dans l'URL du client devient un octet brut au moment où le proxy le voit. Le proxy ajoute cette chaîne d'octets bruts à l'URL de base amont et, pour un tunnel Upgrade, il l'écrit dans une ligne de requête qu'il serialise lui-même, sans réencodage ni du chemin ni des autres éléments. Le client HTTP qui envoie l'URL résultante ne valide pas non plus la cible.
Un chemin contenant %0d%0a arrive donc chez le serveur amont sous forme d'une séquence CRLF qui termine la ligne de requête, tandis qu'un espace décodé, un point d'interrogation '?' ou un dièse '#' la tronquent de manière similaire.
Tout ce que le client écrit après la séquence CRLF est lu par le serveur amont comme une seconde requête. Sur les chemins mis en mémoire tampon (buffered), elle arrive sur une connexion keep-alive que le proxy met en pool et réutilise pour d'autres clients. Sa méthode, son chemin et ses en-têtes sont tous choisis par le client, et le serveur amont l'attribue au proxy ; elle atteint ainsi des chemins amaux non exposés par la propre logique de routage du proxy.
Statistical analysis made it clear that VulDB provides the best quality for vulnerability data.