Lectura fuera de limites
¿Qué es Lectura fuera de limites?
Lectura fuera de limitesFallo de seguridad de memoria (CWE-125) en el que el software lee fuera del buffer previsto y filtra contenidos de memoria adyacente.
Una lectura fuera de limites (OOB) ocurre cuando un programa utiliza un indice, longitud o puntero influido por el atacante para leer mas alla del final, o antes del inicio, de un buffer. Los bytes filtrados pueden incluir claves criptograficas, tokens de sesion, punteros que rompen ASLR u otros secretos del proceso. El ejemplo canonico es Heartbleed (CVE-2014-0160) en OpenSSL, donde un heartbeat TLS devolvia hasta 64KB de memoria al confiar en una longitud suministrada por el atacante. Las lecturas OOB se identifican como CWE-125 y suelen combinarse con primitivas de escritura para lograr ejecucion de codigo. Mitigaciones: APIs con verificacion de limites, lenguajes seguros (Rust, C++ moderno), sanitizers (ASan, KASAN), fuzzing y etiquetado hardware (MTE).
● Ejemplos
- 01
Heartbleed (CVE-2014-0160) en OpenSSL filtra hasta 64KB de memoria via TLS heartbeat.
- 02
Un parser de imagenes que lee mas alla del campo de tamano y devuelve pixeles legibles para el atacante.
● Preguntas frecuentes
¿Qué es Lectura fuera de limites?
Fallo de seguridad de memoria (CWE-125) en el que el software lee fuera del buffer previsto y filtra contenidos de memoria adyacente. Pertenece a la categoría de Ataques y amenazas en ciberseguridad.
¿Qué significa Lectura fuera de limites?
Fallo de seguridad de memoria (CWE-125) en el que el software lee fuera del buffer previsto y filtra contenidos de memoria adyacente.
¿Cómo funciona Lectura fuera de limites?
Una lectura fuera de limites (OOB) ocurre cuando un programa utiliza un indice, longitud o puntero influido por el atacante para leer mas alla del final, o antes del inicio, de un buffer. Los bytes filtrados pueden incluir claves criptograficas, tokens de sesion, punteros que rompen ASLR u otros secretos del proceso. El ejemplo canonico es Heartbleed (CVE-2014-0160) en OpenSSL, donde un heartbeat TLS devolvia hasta 64KB de memoria al confiar en una longitud suministrada por el atacante. Las lecturas OOB se identifican como CWE-125 y suelen combinarse con primitivas de escritura para lograr ejecucion de codigo. Mitigaciones: APIs con verificacion de limites, lenguajes seguros (Rust, C++ moderno), sanitizers (ASan, KASAN), fuzzing y etiquetado hardware (MTE).
¿Cómo defenderse de Lectura fuera de limites?
Las defensas contra Lectura fuera de limites combinan habitualmente controles técnicos y prácticas operativas, como se detalla en la definición.
¿Cuáles son otros nombres para Lectura fuera de limites?
Nombres alternativos comunes: OOB read, CWE-125.
● Términos relacionados
- vulnerabilities№ 131
Desbordamiento de búfer
Fallo de seguridad de memoria en el que un programa escribe más allá del final de un búfer asignado, corrompiendo memoria adyacente y a menudo permitiendo ejecución de código.
- attacks№ 544
Subdesbordamiento de entero
Fallo aritmetico (CWE-191) en el que restar de un entero sin signo bajo cero se envuelve a un valor enorme, habilitando asignaciones excesivas o desbordamientos.
- vulnerabilities№ 667
Corrupción de memoria
Término paraguas para vulnerabilidades en las que un programa escribe fuera de los límites previstos, comprometiendo seguridad de tipos, flujo de control o integridad de datos.
- vulnerabilities№ 1193
Uso después de liberar
Fallo de memoria en el que un programa sigue usando memoria ya liberada, lo que suele permitir controlar el estado de objetos y secuestrar la ejecución.