| ID | Tipo de Vulnerabilidad | Severidad | Sanitizer | Función Afectada | Tiempo Encontrado | Reproducible |
|---|---|---|---|---|---|---|
| CRASH-001 | Stack Buffer Overflow Parsing de claves unicode >255 bytes |
CRÍTICO | ASan | JsonParser::parseUnicodeEscape() |
04h 23m | ✓ Sí |
| CRASH-002 | Use-After-Free Nodo de array liberado durante iteración |
CRÍTICO | ASan | JsonArray::~JsonArray() + iterator |
17h 51m | ✓ Sí |
| CRASH-003 | Integer Overflow → OOB Write Longitud de string negativa en esquema |
ALTO | UBSan | SchemaValidator::validateLength() |
31h 07m | ✓ Sí |
| HANG-001 | Bucle Infinito JSON con referencias circulares $ref |
MEDIO | Timeout | SchemaValidator::resolveRef() |
8h 44m | ✓ Sí |
parseUnicodeEscape(). Usar strnlen y bounds checking. Riesgo: RCE potencial en contexto PCI-DSS.JsonArray al destruir con iteradores activos. Considerar shared_ptr o patrón RAII para gestión del ciclo de vida.validateLength() el campo maxLength se castea de int a size_t sin verificar signo. Añadir guard if (len < 0) return ERR_INVALID_SCHEMA.resolveRef() con un set de referencias visitadas. Limitar profundidad a 32 niveles máximo.| Variable | Valor | Instancias | Motivo |
|---|---|---|---|
| AFL_TMPDIR | /dev/shm |
Todas | tmpfs en RAM → SSD protegido, +8% velocidad |
| AFL_FINAL_SYNC | 1 |
primary | Sincronización final antes de afl-cmin |
| AFL_TESTCACHE_SIZE | 100 MB |
secondary 01-03 | Cache corpus en RAM, reduce I/O disco |
| AFL_USE_ASAN | 1 |
asan01, asan02 | Detección de corrupción de memoria |
| AFL_USE_UBSAN | 1 |
ubsan01 | Detección de comportamiento indefinido |
| AFL_LLVM_CMPLOG | 1 |
cmplog | RedQueen constraint solving para inputs complejos |
| AFL_FAST_CAL | 1 |
secondary03 | Calibración 2.5x más rápida (target ~8ms/exec) |