Por qué C sigue generando vulnerabilidades de memoria tras décadas

A theory for decades of C vulnerabilities

Un nuevo análisis teórico atribuye décadas de vulnerabilidades de seguridad en C a un concepto fundamental: los invariantes semánticos. Estos son propiedades que deben mantenerse verdaderas sobre los datos y la memoria durante la ejecución, pero que el lenguaje no expresa en su sistema de tipos. El texto explica cómo desbordamientos de búfer, desbordamientos de enteros, usos después de liberación y accesos fuera de límites son manifestaciones de invariantes rotos, citando ejemplos como Heartbleed y CVE-2019-19590. La solución propuesta es hacer que la seguridad de memoria sea una propiedad del lenguaje mismo.

La vulnerabilidad es el punto en el que la representación de la realidad del programa deja de corresponderse con la realidad.

Más de este día

2026-08-20