
Environnement de laboratoire reproductible démontrant le contournement d'autorisation CVE-2022-22978 de Spring Security via des caractères de saut de ligne encodés dans RegexRequestMatcher.
RegexRequestMatcher pour accorder des autorisations à l'aide d'expressions régulières, si l'URL de la requête contient des caractères de saut de ligne, un contournement d'autorisation peut se produire./admin) en utilisant des caractères de saut de ligne encodés tels que %0a, %0d.docker compose up -d pour préparer l'environnement de test.http://localhost:8080/admin pour vérifier que l'accès à la page d'administration est bloqué.http://localhost:8080/admin/%0atest pour accéder à la page d'administration.
Un environnement vulnérable a été configuré.

L'accès à la page d'administration est bloqué.

%0d représente '\r' et %0a représente '\n', des caractères de saut de ligne. En envoyant une requête avec %0d ou %0a, il est possible de contourner l'autorisation d'accès.
Si des caractères de saut de ligne comme %0a, %0d sont inclus dans l'URL, le filtrage du chemin de la requête par RegexRequestMatcher omet le traitement de ces caractères, permettant ainsi un contournement d'autorisation. Il convient d'être prudent car un attaquant peut accéder à la page d'administration via ce contournement et y dérober des informations importantes.
Adresse GitHub: https://github.com/he-ewo/CVE-2022-22978.git