Saltar al contenido
uencoder

Integer Overflow

Un desbordamiento de enteros ocurre cuando un resultado aritmético excede el rango representable del tipo y da la vuelta, pudiendo causar asignaciones de búfer insuficientes o errores lógicos.

Propósito

Entender las asignaciones de memoria y omisiones de comprobación de límites causadas por el desbordamiento de enteros; un defecto común en C/C++ y implementaciones criptográficas.

Mecanismo

El desbordamiento de enteros con signo es comportamiento indefinido (C/C++); los enteros sin signo dan la vuelta módulo 2^n. Por ejemplo, size_t len = a + b da la vuelta a un valor pequeño si a+b excede SIZE_MAX, así que malloc(len) asigna de menos y las escrituras posteriores desbordan.

Casos de uso

  • Seguridad de asignación de memoria
  • Auditoría de implementaciones criptográficas
  • Omisión de comprobación de límites

Herramientas relacionadas

References