CVE-2026-16554

cJSON library is vulnerable to an integer overflow in the print_string_ptr() function in cJSON.c on 32-bit platforms. The escape_characters counter, a 32-bit size_t, can wrap around when processing strings containing approximately 858,993,460 or more control characters, causing the output buffer to be allocated based on an underestimated length. When cJSON_PrintBuffered() is used with a pre-allocated buffer, the subsequent write loop overflows the heap allocation. An attacker supplying a crafted JSON string to an application using cJSON on a 32-bit platform can cause a heap buffer overflow, potentially leading to remote code execution, information disclosure, or denial of service. Because project creator contact attempts were unsuccessful, the vulnerability has only been confirmed in version 1.7.19 but may also affect other versions.
References
Link Resource
https://cert.pl/en/posts/2026/07/CVE-2026-16554 Third Party Advisory
https://github.com/DaveGamble/cJSON Product
http://www.openwall.com/lists/oss-security/2026/07/30/26 Issue Tracking Mailing List Third Party Advisory
http://www.openwall.com/lists/oss-security/2026/07/31/4 Mailing List Third Party Advisory
Configurations

Configuration 1 (hide)

cpe:2.3:a:davegamble:cjson:1.7.19:*:*:*:*:*:*:*

History

24 Oct 2026, 13:10

Type Values Removed Values Added
Summary
  • (es) La biblioteca cJSON es vulnerable a un desbordamiento de entero en la función print_string_ptr() en cJSON.c en plataformas de 32 bits. El contador escape_characters, un size_t de 32 bits, puede desbordarse al procesar cadenas que contienen aproximadamente 858,993,460 o más caracteres de control, lo que provoca que el búfer de salida se asigne basándose en una longitud subestimada. Cuando se utiliza cJSON_PrintBuffered() con un búfer preasignado, el bucle de escritura posterior desborda la asignación de memoria dinámica. Un atacante que proporciona una cadena JSON manipulada a una aplicación que utiliza cJSON en una plataforma de 32 bits puede causar un desbordamiento de búfer en la memoria dinámica, lo que podría conducir a la ejecución remota de código, la revelación de información o la denegación de servicio. Debido a que los intentos de contacto con el creador del proyecto no tuvieron éxito, la vulnerabilidad solo se ha confirmado en la versión 1.7.19, pero también puede afectar a otras versiones.

Information

Published : 2026-07-27 09:16

Updated : 2026-10-24 13:10


NVD link : CVE-2026-16554

Mitre link : CVE-2026-16554

CVE.ORG link : CVE-2026-16554


JSON object : View

Products Affected

davegamble

  • cjson
CWE
CWE-190

Integer Overflow or Wraparound