
Análisis detallado y PoC para CVE-2025-67887/86 RCE en el módulo Translate de 1C-Bitrix, incluyendo cadena de explotación, puntuación CVSS y recomendaciones de mitigación para administradores.
1C-Bitrix Seguridad Centro de Seguridad de la Información y Monitoreo de Incidentes de la empresa «1C-Bitrix» informa
En canales de Telegram apareció información sobre una vulnerabilidad en el módulo "Traducción", que supuestamente permitiría cargar archivos sin verificación de seguridad.
Realizamos rápidamente las comprobaciones y NO confirmamos la existencia de una vulnerabilidad en el producto. La carga de archivos en el módulo "Traducciones" solo está disponible para administradores. Los permisos necesarios mencionados en el mensaje corresponden a los permisos de administrador. El administrador está autorizado a modificar y ejecutar cualquier código en el proyecto.
Por lo tanto, no existe la vulnerabilidad.
https://t.me/bitrixkiberbez/76
En el parche se implementa un saneador recursivo de directorios que detecta y elimina cualquier variación de archivos .htaccess después de la extracción del archivo.
/**
* Removes any variation of .htaccess files from the extracted directory.
* Covers case sensitivity (.HTACCESS) and trailing dots/spaces.
* By CyberOK | https://www.cyberok.ru/
*/
private function sanitizeDirectory(Translate\IO\Directory $dir): void
{
foreach ($dir->getChildren() as $entry) {
if ($entry instanceof Main\IO\Directory) {
$this->sanitizeDirectory(new Translate\IO\Directory($entry->getPhysicalPath()));
} else {
if (preg_match('/^\.htaccess[.\s]*$/i', $entry->getName())) {
$entry->delete();
}
}
}
}
bitrix/modules/translate/lib/controller/asset/extract.php
🧯 RCE en 1C-Bitrix, pero con un detalle
El 15 de diciembre de 2025 se publicó la divulgación pública de las vulnerabilidades CVE-2025-67886/CVE-2025-67887 en 1C-Bitrix. Actualmente no se ha publicado un parche, el PoC está disponible.
🔥 Descripción de las vulnerabilidades Las vulnerabilidades se encuentran en el módulo Translate de 1C-Bitrix, que permite cargar y descomprimir archivos en un directorio temporal. Sin embargo, el sistema no verifica el contenido de los archivos antes de extraerlos, lo que permite a un atacante incluir en el archivo un archivo PHP y un .htaccess especialmente creado, lograr su extracción y ejecución en el servidor.
📌 ¡Importante! Por qué este RCE no es para todos
• Para una explotación exitosa, el atacante necesita tener permisos “SOURCE” y “WRITE” para el módulo Translate. En la práctica, estos permisos ya implican la posibilidad de modificar archivos php.
• Las infraestructuras que funcionan exclusivamente con Nginx (sin Apache / sin procesador .htaccess) no son susceptibles a un RCE completo: los archivos PHP generalmente se entregan como estática. En este caso, el riesgo se desplaza hacia la escritura arbitraria de archivos en una zona accesible por web, no a un RCE garantizado.
• En una combinación nginx → Apache o Apache puro con AllowOverride activado, el escenario se acerca más a un RCE "real", pero con permisos de administrador.
🔥 Los colegas de 1C-Bitrix confirman nuestras conclusiones en su comunicado oficial: https://t.me/bitrixkiberbez/76 📊 Alcance Según datos de SKIPA en Runet, hay alrededor de 2.000.000 instancias de 1C-Bitrix. Potencialmente, ~10% de los hosts podrían estar afectados por este problema. Los clientes de PentOps fueron notificados oportunamente.
📐 Evaluación de riesgo ✖️ CVSS oficial aún no asignado ✖️ Formalmente CVSS alto, pero en la práctica – bajo debido a los privilegios requeridos.
✖️ Cálculo de CyberOK (CVSS v3.1 base): 7.2 (Alto) CVSS:3.1/AV:N/AC:L/PR:H/UI:N/S:U/C:H/I:H/A:H
✖️ Métrica temporal (a día de hoy): 6.8 CVSS:3.1/AV:N/AC:L/PR:H/UI:N/S:U/C:H/I:H/A:H/E:P/RL:U/RC:C
✖️ Calificación CyberOK RWD (Real World Danger): 3/5 — riesgo real de explotación
📦 Versiones vulnerables • CVE-2025-67887: todas las versiones de 1C-Bitrix <= 25.100.500 • CVE-2025-67886: todas las versiones de Bitrix24 <= 25.100.300
🔧 Proof of Concept PoC disponible públicamente confirmado.
📌 Qué buscar en los registros Cadena secuencial de carga de localización (indicador clave):
/bitrix/services/main/ajax.php?action=bitrix%3Atranslate.controller.asset.grabber.upload
/bitrix/services/main/ajax.php?action=bitrix%3Atranslate.controller.asset.grabber.extract
/bitrix/services/main/ajax.php?action=bitrix%3Atranslate.controller.asset.grabber.apply
⚠️ El endpoint apply es el más crítico, ya que es el que devuelve la ruta al directorio temporal donde puede encontrarse el shell cargado.
🛡 Recomendaciones de protección y verificación
Permisos de acceso: Verifique urgentemente quién tiene acceso al módulo — retire SOURCE/WRITE a todos excepto a un círculo reducido de administradores (mejor aún, cierre temporalmente el módulo).
Restricción de red: Cierre el acceso a los controladores translate (al menos a los manejadores de descompresión) a través de WAF/ACL, dejando solo IPs administrativas/VPN.
Servidor web: Apache: prohíba .htaccess en directorios con permisos de escritura (AllowOverride None) y/o prohíba handlers/ejecución de PHP donde pueda llegar la descompresión.
Nginx: asegúrese de que PHP solo se ejecute en las ubicaciones esperadas (y definitivamente no desde directorios upload/tmp/caché/temporales).
En modo de emergencia, se puede monitorear y eliminar adicionalmente los .htaccess que aparezcan en directorios con escritura, pero esto es un parche temporal; es mejor cortar a nivel de configuración.
💣 Conclusiones Sí, es un RCE, pero todo depende de los privilegios y la configuración del servidor web. Para una explotación exitosa se necesitan permisos que ya dan acceso a la herramienta de línea de comandos PHP; la herramienta permite ejecutar código PHP sin complicaciones ni carga de archivos. Revise los permisos del módulo «Translate» y prohíba la ejecución en zonas con escritura; esto cubre la mayor parte del riesgo real.
🖇 Fuentes Advisory KIS-2025-08 / CVE-2025-67887 NGINX Community Blog