Nginx heap underflow

Magazine
Marque
MISC
Numéro
46
Mois de parution
novembre 2009
Domaines


Résumé

nginx [NGINX] est un serveur web léger et performant, fonctionnant sur la plupart des systèmes d'exploitation (Linux, BSD, Mac OS X, Solaris, Windows). D'après l'étude de Netcraft de septembre 2009 [NETCRAFT], il serait le 4ème serveur web le plus utilisé dans le monde. Dû à la médiatisation de la vulnérabilité Windows SMB2, l'annonce d'une vulnérabilité touchant toutes les versions du serveur web nginx est passée largement inaperçue. Reportée par Chris Ries, elle a été patchée le 14 septembre 2009 avec un message de commit concis, mais néanmoins plus honnête que ceux du noyau Linux : « Security: a segmentation fault might occur in worker process while specially crafted request handling. »


1. Analyse de la vulnérabilité

1.1 Analyse du patch

Le patch [PATCH] indique que le bug se situe dans la fonction ngx_http_parse_complex_uri (src/http/ngx_http_parse.c) responsable du parsing d'URI complexe, c'est-à-dire comportant des caractères encodés en hexadécimal, des ./, ../, etc. :

Index: src/http/ngx_http_parse.c

===================================================================

--- src/http/ngx_http_parse.c    (revision 2410)

+++ src/http/ngx_http_parse.c    (revision 2411)

@@ -1134,11 +1134,15 @@

#endif

             case '/':

                 state = sw_slash;

-                u -= 4;

-                if (u < r->uri.data) {

-                    return NGX_HTTP_PARSE_INVALID_REQUEST;

-                }

-                while (*(u - 1) != '/') {

+                u -= 5;

+                for ( ;; ) {

+                    if (u < r->uri.data) {

+...

Cet article est réservé aux abonnés. Il vous reste 96% à découvrir.
à partir de 21,65€ HT/mois/lecteur pour un accès 5 lecteurs à toute la plateforme
J'en profite


Articles qui pourraient vous intéresser...

Spectre, 3 ans après

Magazine
Marque
MISC
Numéro
114
Mois de parution
mars 2021
Domaines
Résumé

Spectre, et son pendant Meltdown, est une faille qui repose sur l’architecture moderne de nos processeurs. Dans cet article, nous verrons l’impact que cette vulnérabilité a eu sur le développement d’applications web.

Zerologon pour les (mots de passe) nuls

Magazine
Marque
MISC
Numéro
113
Mois de parution
janvier 2021
Domaines
Résumé

ZeroLogon est LA vulnérabilité de septembre 2020 qui expose de nombreux domaines Windows à une compromission totale via un scénario d’exploitation réaliste et fiable. Mais ce qui donne à Zerologon ses lettres de noblesse c’est qu’elle repose essentiellement sur la mauvaise utilisation d’un algorithme cryptographique permettant de réaliser une attaque à clair choisi particulièrement astucieuse. Zoom sur la vulnérabilité la plus passionnante de la rentrée 2020 !

CVE-2020-3433 : élévation de privilèges sur le client VPN Cisco AnyConnect

Magazine
Marque
MISC
Numéro
112
Mois de parution
novembre 2020
Domaines
Résumé

Cet article explique comment trois vulnérabilités supplémentaires ont été découvertes dans le client VPN Cisco AnyConnect pour Windows. Elles ont été trouvées suite au développement d’un exploit pour la CVE-2020-3153 (une élévation de privilèges, étudiée dans MISC n°111). Après un rappel du fonctionnement de ce logiciel, nous étudierons chacune de ces nouvelles vulnérabilités.

Return oriented programming 101

Magazine
Marque
MISC
HS n°
Numéro
22
Mois de parution
octobre 2020
Domaines
Résumé

Le Returned Oriented Programming (ou ROP) est une technique permettant d'exploiter des programmes disposant de la protection NX (No eXecute) ou DEP (Data Execution Prevention). L'objectif de cet article est de vous présenter les bases du ROP, ainsi que l’exploitation pas-à-pas d’un programme d’entraînement via l'utilisation de la bibliothèque python pwntools [1]. Dans un souci de simplicité, la démonstration sera réalisée sur un programme s'exécutant sur un système Linux 64 bits. Bien entendu, cette démonstration reste applicable sur d'autres architectures (ARM, MIPS, etc.).