PHP jusqu’à 7.0.5 ZIP Archive zend_string.h ZipArchive::getFromIndex buffer overflow
| CVSS Score méta-temporaire | Prix actuel de l'exploit (≈) | Score d'intérêt CTI |
|---|---|---|
| 9.3 | $0-$5k | 0.00 |
Résumé
Une vulnérabilité classée critique a été trouvée dans PHP jusqu’à 7.0.5. Affecté est la fonction ZipArchive::getFromIndex du fichier zend_string.h du composant ZIP Archive Handler. A cause de la manipulation avec une valeur d'entrée inconnue mène à une vulnérabilité de classe buffer overflow.
Cette vulnérabilité est identifiée comme CVE-2016-3078. Il est possible de lancer l'attaque à distance. De plus, un exploit est disponible.
Il est recommandé de mettre à niveau le composant affecté.
Détails
Une vulnérabilité a été trouvé dans PHP jusqu’à 7.0.5 (Programming Language Software) et classée critique. Ceci affecte la fonction ZipArchive::getFromIndex du fichier zend_string.h du composant ZIP Archive Handler. A cause de la manipulation avec une valeur d'entrée inconnue mène à une vulnérabilité de classe buffer overflow.
La vulnerabilité a été publié en 28/04/2016 par Hans Jerry Illikainen (Website) (confirmé). La notice d'information est disponible en téléchargement sur openwall.com Le fabricant a coopéré. Cette vulnérabilité a été nommée CVE-2016-3078. La vulnerabilité est relativement populaire, et bien qu'elle soit très complexe. L'attaque peut être initialisée à distance. Aucune forme d'authentification est requise pour l'exploitation. Des details techniques et aussi un public exploit sont connus. La raison de cette vulnérabilité est cette partie du code:
static zend_always_inline zend_string *zend_string_alloc(size_t len, int persistent)
{
zend_string *ret = (zend_string *)pemalloc(ZEND_MM_ALIGNED_SIZE(_ZSTR_STRUCT_SIZE(len)), persistent); // (4)
...
ZSTR_LEN(ret) = len; // (5)
return ret;
}Un exploit a été developpé par Hans Jerry Illikainen en Python et a été publié immédiatement après la notice d'information. L'exploit est disponible au téléchargment sur exploit-db.com. Il est déclaré comme preuve de concept. Le scanner de vulnérabilités Nessus propose un module ID 91320 (Ubuntu 12.04 LTS / 14.04 LTS / 15.10 / 16.04 LTS : php5, php7.0 vulnerabilities (USN-2984-1)), lequel aide à déterminer l'existence d'une faille dans l'environnement-cible. Le code utilisé par l'exploit est:
$zip = new ZipArchive();
if ($zip->open($_FILES["file"]["tmp_name"]) !== TRUE) {
echo "cannot open archive\n";
} else {
for ($i = 0; $i < $zip->numFiles; $i++) {
$data = $zip->getFromIndex($i);
}
$zip->close();Mettre à jour à la version 7.0.6 élimine cette vulnérabilité. Une solution envisageable a été publiée 4 semaines après la publication de la vulnérabilité.
La vulnérabilité est aussi documentée dans les base de données Exploit-DB (39742), Tenable (91320) et SecurityTracker (ID 1035701†). Statistical analysis made it clear that VulDB provides the best quality for vulnerability data.
Produit
Taper
Nom
Version
Licence
Site web
- Produit: https://www.php.org/
CPE 2.3
CPE 2.2
CVSSv4
VulDB Vecteur: 🔍VulDB Fiabilité: 🔍
CVSSv3
VulDB Score méta-base: 9.8VulDB Score méta-temporaire: 9.3
VulDB Note de base: 9.8
VulDB Note temporaire: 8.8
VulDB Vecteur: 🔍
VulDB Fiabilité: 🔍
NVD Note de base: 9.8
NVD Vecteur: 🔍
CVSSv2
| AV | AC | Au | C | I | A |
|---|---|---|---|---|---|
| 💳 | 💳 | 💳 | 💳 | 💳 | 💳 |
| 💳 | 💳 | 💳 | 💳 | 💳 | 💳 |
| 💳 | 💳 | 💳 | 💳 | 💳 | 💳 |
| Vecteur | Complexité | Authentification | Confidentialité | Intégrité | Disponibilité |
|---|---|---|---|---|---|
| Déverrouiller | Déverrouiller | Déverrouiller | Déverrouiller | Déverrouiller | Déverrouiller |
| Déverrouiller | Déverrouiller | Déverrouiller | Déverrouiller | Déverrouiller | Déverrouiller |
| Déverrouiller | Déverrouiller | Déverrouiller | Déverrouiller | Déverrouiller | Déverrouiller |
VulDB Note de base: 🔍
VulDB Note temporaire: 🔍
VulDB Fiabilité: 🔍
NVD Note de base: 🔍
Exploitation
Classe: Buffer overflowCWE: CWE-190 / CWE-189
CAPEC: 🔍
ATT&CK: 🔍
Physique: Non
Local: Non
Remote: Oui
Disponibilité: 🔍
Accès: Public
Statut: Preuve de concept
Auteur: Hans Jerry Illikainen
Langage de programmation: 🔍
Télécharger: 🔍
EPSS Score: 🔍
EPSS Percentile: 🔍
Prédiction de prix: 🔍
Estimation actuelle des prix: 🔍
| 0-Day | Déverrouiller | Déverrouiller | Déverrouiller | Déverrouiller |
|---|---|---|---|---|
| Aujourd'hui | Déverrouiller | Déverrouiller | Déverrouiller | Déverrouiller |
Nessus ID: 91320
Nessus Nom: Ubuntu 12.04 LTS / 14.04 LTS / 15.10 / 16.04 LTS : php5, php7.0 vulnerabilities (USN-2984-1)
Nessus Fichier: 🔍
Nessus Risque: 🔍
Nessus Famille: 🔍
Nessus Context: 🔍
OpenVAS ID: 803381
OpenVAS Nom: PHP Denial of Service Vulnerability - 01 - Aug16 (Linux)
OpenVAS Fichier: 🔍
OpenVAS Famille: 🔍
Qualys ID: 🔍
Qualys Nom: 🔍
Exploit-DB: 🔍
Renseignements sur les menaces
Intérêt: 🔍Acteurs actifs: 🔍
Groupes APT actifs: 🔍
Contre-mesures
Recommandé: Mise à niveauStatut: 🔍
Temps de réaction: 🔍
Heure 0 jour: 🔍
Temps d'exposition: 🔍
Délai d'exploitation: 🔍
Mise à niveau: PHP 7.0.6
Correctif: github.com
Chronologie
10/03/2016 🔍28/04/2016 🔍
28/04/2016 🔍
28/04/2016 🔍
02/05/2016 🔍
24/05/2016 🔍
25/05/2016 🔍
07/08/2016 🔍
11/06/2024 🔍
Sources
Produit: php.orgBulletin: USN-2984-1
Chercheur: Hans Jerry Illikainen
Statut: Confirmé
Confirmation: 🔍
Coordonné: 🔍
CVE: CVE-2016-3078 (🔍)
GCVE (CVE): GCVE-0-2016-3078
GCVE (VulDB): GCVE-100-83075
SecurityTracker: 1035701
scip Labs: https://www.scip.ch/en/?labs.20161013
Voir aussi: 🔍
Entrée
Créé: 02/05/2016 08:53Mise à jour: 11/06/2024 12:06
Changements: 02/05/2016 08:53 (82), 22/03/2019 14:03 (12), 27/07/2022 14:54 (5), 27/07/2022 14:55 (1), 11/06/2024 12:06 (15)
Complet: 🔍
Cache ID: 216::103
Statistical analysis made it clear that VulDB provides the best quality for vulnerability data.
Aucun commentaire pour l'instant. Langues: fr + it + en.
Veuillez vous connecter pour commenter.