1.2 CVE-2012-6095

 

ProFTPD antes de 1.3.5rc1, cuando se usa la directiva UserOwner, permite a los usuarios locales modificar la propiedad de archivos arbitrarios mediante una condición de carrera y un ataque de enlace simbólico en los comandos (1) MKD o (2) XMKD.
https://nvd.nist.gov/vuln/detail/CVE-2012-6095

Categorías

CWE-362 : Ejecución concurrente utilizando un recurso compartido con una sincronización inadecuada ('Race Condition')
El producto contiene una secuencia de código que puede ejecutarse simultáneamente con otro código, y la secuencia de código requiere acceso temporal y exclusivo a un recurso compartido, pero existe una ventana temporal en la que el recurso compartido puede ser modificado por otra secuencia de código que esté operando simultáneamente. Los métodos de caja negra pueden ser capaces de identificar pruebas de condiciones de carrera a través de métodos como múltiples conexiones simultáneas, que pueden provocar que el software se vuelva inestable o se bloquee. Sin embargo, las condiciones de carrera con ventanas de tiempo muy estrechas no serían detectables. Los modismos comunes son detectables en el análisis de caja blanca, como las operaciones de archivo de tiempo de comprobación-tiempo de uso (TOCTOU) (CWE-367), o el bloqueo de doble comprobación (CWE-609). En los lenguajes que lo admitan, utilice primitivas de sincronización. Envuélvalas sólo alrededor de código crítico para minimizar el impacto en el rendimiento. Utilice capacidades seguras para hilos, como la abstracción de acceso a datos de Spring. Cuando se utilicen subprocesos múltiples y se opere con variables compartidas, utilice únicamente funciones seguras para subprocesos. Utilice operaciones atómicas en variables compartidas. Desconfíe de construcciones de apariencia inocente como "x++". Esto puede parecer atómico en la capa de código, pero en realidad no es atómico en la capa de instrucciones, ya que implica una lectura, seguida de un cálculo, seguido de una escritura. Utilice un mutex si está disponible, pero asegúrese de evitar debilidades relacionadas como CWE-412. Evite el bloqueo de doble comprobación (CWE-609) y otros errores de implementación que surgen cuando se intenta evitar la sobrecarga de la sincronización. Deshabilite interrupciones o señales sobre partes críticas del código, pero también asegúrese de que el código no entre en un bucle grande o infinito. Utilice el modificador de tipo volátil para las variables críticas para evitar optimizaciones o reordenaciones inesperadas del compilador. Esto no resuelve necesariamente el problema de sincronización, pero puede ayudar. Ejecute su código utilizando los privilegios más bajos que se requieran para realizar las tareas necesarias [REF-76]. Si es posible, cree cuentas aisladas con privilegios limitados que sólo se utilicen para una única tarea. De esta forma, un ataque exitoso no dará inmediatamente al atacante acceso al resto del software o a su entorno. Por ejemplo, las aplicaciones de bases de datos rara vez necesitan ejecutarse como administrador de la base de datos, especialmente en las operaciones cotidianas. La aplicación Go para la gestión de la nube crea un archivo sudoers escribible en todo el mundo que permite a los atacantes locales inyectar reglas sudo y escalar privilegios a root ganando una condición de carrera. Cadena: un bloqueo incorrecto (CWE-667) conduce a una condición de carrera (CWE-362), explotada in the wild por CISA KEV. Cadena: condición de carrera en plataforma móvil (CWE-362) que conduce a uso después de libre (CWE-416), explotada in the wild por CISA KEV. Cadena: condición de carrera (CWE-362) que conduce a un uso posterior libre (CWE-416), explotado in the wild por CISA KEV. cadena: La interfaz JTAG no está deshabilitada (CWE-1191) durante la ejecución de código ROM, lo que introduce una condición de carrera (CWE-362) para extraer claves de cifrado Cadena: la condición de carrera (CWE-362) en el producto antimalware permite la eliminación de archivos mediante la creación de una unión (CWE-1386) y el uso de enlaces duros durante la ventana de tiempo en la que se crea y elimina un archivo temporal. TOCTOU en el proceso sandbox permite la instalación de complementos del navegador no fiables mediante la sustitución de un archivo después de que se haya verificado, pero antes de que se ejecute Cadena: el chipset tiene una condición de carrera (CWE-362) entre el momento en que un gestor de interrupciones detecta un intento de habilitar la escritura en la BIOS (en violación del bit de bloqueo), y el momento en que el gestor restablece el bit de habilitación de escritura a 0, lo que permite a los atacantes emitir escrituras en la BIOS durante la ventana de tiempo [REF-1237]. Condición de carrera que lleva a un fallo al llamar a un procedimiento de eliminación de gancho mientras otras actividades están ocurriendo al mismo tiempo. cadena: condición de carrera de tiempo de comprobación de tiempo de uso (TOCTOU) en el programa permite eludir el mecanismo de protección que fue diseñado para prevenir ataques de enlaces simbólicos. cadena: condición de carrera de tiempo de comprobación de tiempo de uso (TOCTOU) en el programa permite eludir el mecanismo de protección que fue diseñado para prevenir ataques de enlaces simbólicos. La operación de almacenamiento en caché no sincronizada permite una condición de carrera que provoca el envío de mensajes a un objeto desasignado. Una condición de carrera durante la inicialización provoca un desbordamiento del búfer. Daemon se bloquea al realizar operaciones rápidamente y deshacerlas, lo que finalmente conduce a una operación que no adquiere un bloqueo. chain: race condition triggers NULL pointer dereference Una condición de carrera en una función de biblioteca podría provocar el envío de datos al proceso incorrecto. Condición de carrera en el analizador sintáctico de archivos conduce a la corrupción del montón. cadena: condición de carrera permite a un atacante acceder a un objeto mientras todavía se está inicializando, provocando que el software acceda a memoria no inicializada. cadena: condición de carrera para un valor de argumento, posiblemente dando lugar a la desreferencia de NULL cadena: condición de carrera podría permitir que el recurso sea liberado antes de operar sobre él, dando lugar a la desreferencia de NULL Cadena: El manejador de señales contiene demasiada funcionalidad (CWE-828), introduciendo una condición de carrera (CWE-362) que conduce a una doble liberación (CWE-415).

Referencias


 

CPE

cpe iniciar fin
Configuration 1
cpe:2.3:a:proftpd:proftpd:1.2.0:*:*:*:*:*:*:*
cpe:2.3:a:proftpd:proftpd:1.2.0:pre10:*:*:*:*:*:*
cpe:2.3:a:proftpd:proftpd:1.2.0:pre9:*:*:*:*:*:*
cpe:2.3:a:proftpd:proftpd:1.2.0:rc1:*:*:*:*:*:*
cpe:2.3:a:proftpd:proftpd:1.2.0:rc2:*:*:*:*:*:*
cpe:2.3:a:proftpd:proftpd:1.2.0:rc3:*:*:*:*:*:*
cpe:2.3:a:proftpd:proftpd:1.2.1:*:*:*:*:*:*:*
cpe:2.3:a:proftpd:proftpd:1.2.2:*:*:*:*:*:*:*
cpe:2.3:a:proftpd:proftpd:1.2.2:rc1:*:*:*:*:*:*
cpe:2.3:a:proftpd:proftpd:1.2.2:rc2:*:*:*:*:*:*
cpe:2.3:a:proftpd:proftpd:1.2.2:rc3:*:*:*:*:*:*
cpe:2.3:a:proftpd:proftpd:1.2.3:*:*:*:*:*:*:*
cpe:2.3:a:proftpd:proftpd:1.2.4:*:*:*:*:*:*:*
cpe:2.3:a:proftpd:proftpd:1.2.5:*:*:*:*:*:*:*
cpe:2.3:a:proftpd:proftpd:1.2.5:rc1:*:*:*:*:*:*
cpe:2.3:a:proftpd:proftpd:1.2.5:rc2:*:*:*:*:*:*
cpe:2.3:a:proftpd:proftpd:1.2.5:rc3:*:*:*:*:*:*
cpe:2.3:a:proftpd:proftpd:1.2.6:*:*:*:*:*:*:*
cpe:2.3:a:proftpd:proftpd:1.2.6:rc1:*:*:*:*:*:*
cpe:2.3:a:proftpd:proftpd:1.2.6:rc2:*:*:*:*:*:*
cpe:2.3:a:proftpd:proftpd:1.2.7:*:*:*:*:*:*:*
cpe:2.3:a:proftpd:proftpd:1.2.7:rc1:*:*:*:*:*:*
cpe:2.3:a:proftpd:proftpd:1.2.7:rc2:*:*:*:*:*:*
cpe:2.3:a:proftpd:proftpd:1.2.7:rc3:*:*:*:*:*:*
cpe:2.3:a:proftpd:proftpd:1.2.8:*:*:*:*:*:*:*
cpe:2.3:a:proftpd:proftpd:1.2.8:rc1:*:*:*:*:*:*
cpe:2.3:a:proftpd:proftpd:1.2.8:rc2:*:*:*:*:*:*
cpe:2.3:a:proftpd:proftpd:1.2.9:*:*:*:*:*:*:*
cpe:2.3:a:proftpd:proftpd:1.2.9:rc1:*:*:*:*:*:*
cpe:2.3:a:proftpd:proftpd:1.2.9:rc2:*:*:*:*:*:*
cpe:2.3:a:proftpd:proftpd:1.2.9:rc3:*:*:*:*:*:*
cpe:2.3:a:proftpd:proftpd:1.2.10:*:*:*:*:*:*:*
cpe:2.3:a:proftpd:proftpd:1.2.10:rc1:*:*:*:*:*:*
cpe:2.3:a:proftpd:proftpd:1.2.10:rc2:*:*:*:*:*:*
cpe:2.3:a:proftpd:proftpd:1.2.10:rc3:*:*:*:*:*:*
cpe:2.3:a:proftpd:proftpd:1.3.0:*:*:*:*:*:*:*
cpe:2.3:a:proftpd:proftpd:1.3.0:a:*:*:*:*:*:*
cpe:2.3:a:proftpd:proftpd:1.3.0:rc1:*:*:*:*:*:*
cpe:2.3:a:proftpd:proftpd:1.3.0:rc2:*:*:*:*:*:*
cpe:2.3:a:proftpd:proftpd:1.3.0:rc3:*:*:*:*:*:*
cpe:2.3:a:proftpd:proftpd:1.3.0:rc4:*:*:*:*:*:*
cpe:2.3:a:proftpd:proftpd:1.3.0:rc5:*:*:*:*:*:*
cpe:2.3:a:proftpd:proftpd:1.3.1:*:*:*:*:*:*:*
cpe:2.3:a:proftpd:proftpd:1.3.1:rc1:*:*:*:*:*:*
cpe:2.3:a:proftpd:proftpd:1.3.1:rc2:*:*:*:*:*:*
cpe:2.3:a:proftpd:proftpd:1.3.1:rc3:*:*:*:*:*:*
cpe:2.3:a:proftpd:proftpd:1.3.2:*:*:*:*:*:*:*
cpe:2.3:a:proftpd:proftpd:1.3.2:a:*:*:*:*:*:*
cpe:2.3:a:proftpd:proftpd:1.3.2:b:*:*:*:*:*:*
cpe:2.3:a:proftpd:proftpd:1.3.2:c:*:*:*:*:*:*
cpe:2.3:a:proftpd:proftpd:1.3.2:d:*:*:*:*:*:*
cpe:2.3:a:proftpd:proftpd:1.3.2:e:*:*:*:*:*:*
cpe:2.3:a:proftpd:proftpd:1.3.2:rc1:*:*:*:*:*:*
cpe:2.3:a:proftpd:proftpd:1.3.2:rc2:*:*:*:*:*:*
cpe:2.3:a:proftpd:proftpd:1.3.2:rc3:*:*:*:*:*:*
cpe:2.3:a:proftpd:proftpd:1.3.2:rc4:*:*:*:*:*:*
cpe:2.3:a:proftpd:proftpd:1.3.3:*:*:*:*:*:*:*
cpe:2.3:a:proftpd:proftpd:1.3.3:a:*:*:*:*:*:*
cpe:2.3:a:proftpd:proftpd:1.3.3:b:*:*:*:*:*:*
cpe:2.3:a:proftpd:proftpd:1.3.3:c:*:*:*:*:*:*
cpe:2.3:a:proftpd:proftpd:1.3.3:rc1:*:*:*:*:*:*
cpe:2.3:a:proftpd:proftpd:1.3.3:rc2:*:*:*:*:*:*
cpe:2.3:a:proftpd:proftpd:1.3.3:rc3:*:*:*:*:*:*
cpe:2.3:a:proftpd:proftpd:1.3.3:rc4:*:*:*:*:*:*
cpe:2.3:a:proftpd:proftpd:*:*:*:*:*:*:*:* <= 1.3.4
cpe:2.3:a:proftpd:proftpd:1.3.4:rc1:*:*:*:*:*:*
cpe:2.3:a:proftpd:proftpd:1.3.4:rc2:*:*:*:*:*:*
cpe:2.3:a:proftpd:proftpd:1.3.4:rc3:*:*:*:*:*:*


REMEDIACIÓN




EXPLOTA


Exploit-db.com

id descripción fecha
No hay exploits conocidos

Otros (github, ...)

Url
No hay exploits conocidos


CAPEC


Common Attack Pattern Enumerations and Classifications

id descripción gravedad
26 Aprovechar las condiciones de la carrera
Alto
29 Aprovechamiento de las condiciones de carrera del tiempo de comprobación y del tiempo de uso (TOCTOU)
Alto


MITRE