Volver a Labs
Debilidad (CWE)

CWE-94

Control incorrecto de la generación de código ('Code Injection')

Acerca de

El producto construye la totalidad o parte de un segmento de código utilizando entradas influenciadas externamente provenientes de un componente ascendente, pero no neutraliza o neutraliza incorrectamente elementos especiales que podrían modificar la sintaxis o el comportamiento del segmento de código previsto.

Consecuencias comunes

  • Control de acceso → Elusión del mecanismo de protección
  • Control de acceso → Obtención de privilegios o suplantación de identidad
  • Integridad, Confidencialidad, Disponibilidad → Ejecución de código o comandos no autorizados
  • No repudio → Ocultamiento de actividades

Mitigaciones

  • Arquitectura y diseño: Refactorice su programa para que no tenga que generar código dinámicamente.
  • Arquitectura y diseño: Ejecute su código en una "jaula" o entorno de espacio aislado (sandbox) similar que imponga límites estrictos entre el proceso y el sistema operativo. Esto puede restringir eficazmente qué código puede ejecutar su producto. Los ejemplos incluyen la jaula chroot de Unix y AppArmor. En general, el código administrado puede proporcionar cierta protección. Esta puede no ser una
  • Implementación: Suponga que toda entrada es maliciosa. Utilice una estrategia de validación de entradas de tipo "aceptar lo que se sabe que es válido", es decir, use una lista de entradas aceptables que se ajusten estrictamente a las especificaciones. Rechace cualquier entrada que no se ajuste estrictamente a las especificaciones, o transfórmela en algo que sí lo haga. Al realizar la validación de
  • Pruebas: Utilice herramientas y técnicas dinámicas que interactúen con el producto usando grandes conjuntos de pruebas con muchas entradas diversas, como las pruebas de fuzzing (fuzzing), las pruebas de robustez y la inyección de fallos. La operación del producto puede ralentizarse, pero no debería volverse inestable, bloquearse ni generar resultados incorrectos.
  • Operación: Ejecute el código en un entorno que realice la propagación automática de contaminación (taint) e impida cualquier ejecución de comandos que use variables contaminadas, como el modificador "-T" de Perl. Esto obligará al programa a realizar pasos de validación que eliminen la contaminación, aunque debe tener cuidado de validar correctamente sus entradas para no marcar accidentalmente entr
  • Operación: Ejecute el código en un entorno que realice la propagación automática de contaminación (taint) e impida cualquier ejecución de comandos que use variables contaminadas, como el modificador "-T" de Perl. Esto obligará al programa a realizar pasos de validación que eliminen la contaminación, aunque debe tener cuidado de validar correctamente sus entradas para no marcar accidentalmente entr

CVEs con esta debilidad

Preguntas frecuentes

¿Qué es CWE-94?

El producto construye la totalidad o parte de un segmento de código utilizando entradas influenciadas externamente provenientes de un componente ascendente, pero no neutraliza o neutraliza incorrectamente elementos especiales que podrían modificar la sintaxis o el comportamiento del segmento de código previsto.

¿Qué probabilidad hay de que CWE-94 sea explotada?

MITRE califica la probabilidad de explotación de CWE-94 como medium.

¿Qué plataformas afecta CWE-94?

CWE-94 se ha observado en: Interpreted, AI/ML.

¿Cuántas CVE rastrea Rainforest para CWE-94?

Rainforest Labs rastrea actualmente 4 CVE publicadas asociadas a CWE-94. Están listadas en esta página.

Potencia tu estrategia de seguridad con Rainforest

Descubre vulnerabilidades a tiempo, prioriza amenazas críticas y protege lo que realmente importa. Rainforest simplifica tus operaciones de seguridad, ahorrando tiempo y reduciendo costos, para que te enfoques en lo que impulsa tu negocio.