CVE-2026-79984
Apache Camel: camel-mina-sftp resolvía la ruta remota de un archivo sondeado a partir del nombre reportado en el listado del directorio del servidor sin restringirlo al directorio que se estaba sondeando, por lo que una entrada del listado que contuviera segmentos de recorrido de rutas podía moverse fuera
- Publicado
- 19 oct 2026
- Actualizado
- 20 oct 2026
- Asignación de CNA
- apache
- Evidencia observada
- 17 oct 2026
CVSS primario
nvd · CVSS 3.1
CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:NBajo · próximos 30 días
- Percentil
- 43,9 %
- Fecha del modelo
- 21 oct 2026
EPSS es una estimación estadística, no una certeza o una medida de impacto. Combínelo con CVSS, estado KEV, exposición y su entorno.
Resumen
Vulnerabilidad de limitación inadecuada de un nombre de ruta a un directorio restringido ('Path Traversal') en el componente Apache Camel Mina SFTP. Este problema afecta a Apache Camel: desde 4.18.0 anterior a 4.18.5, desde 4.19.0 anterior a 4.22.1. Los consumidores de archivos remotos de Camel sondean un directorio en un servidor remoto y construyen la ruta remota absoluta de cada archivo concatenando el directorio configurado con el nombre de archivo reportado en el listado de directorio del servidor. Esa concatenación (FtpUtils.absoluteFilePath y GenericFileConsumer) no aplicaba ninguna normalización léxica ni ninguna comprobación de que el resultado permaneciera dentro del directorio que se estaba sondeando, y la ruta resultante se convertía en el operando de cada operación remota posterior sobre el archivo: recuperación (FtpOperations.retrieveFile / SftpOperations, alcanzada desde GenericFileConsumer donde el nombre de recuperación se toma literalmente de GenericFile.getAbsoluteFilePath), eliminación cuando delete=true (GenericFileDeleteProcessStrategy), y renombrado cuando se configura move, preMove, moveFailed o readLock=rename (GenericFileProcessStrategySupport y GenericFileRenameExclusiveReadLockStrategy). Ni isValidFile ni isMatched realizaban ninguna comprobación de contención. Por lo tanto, una entrada del listado que no fuera un único segmento de ruta se resolvía a una ruta fuera del directorio de sondeo configurado, provocando que Camel leyera, eliminara o renombrara archivos fuera de él usando las propias credenciales del endpoint. Un nombre de listado no es un dato controlado por la ruta. Lo proporciona el servidor remoto, y el canal de control FTP no lleva ninguna protección de integridad en absoluto, por lo que un atacante en la ruta puede reescribir una respuesta LIST sin poseer ninguna credencial; un servidor comprometido, malicioso o multiinquilino, o un servidor respaldado por un sistema de archivos virtual, puede emitir dicho nombre directamente. La recuperación es alcanzable en una configuración de consumidor predeterminada, ya que los consumidores remotos descargan cada archivo listado; la eliminación y el renombrado requieren además una de las opciones de disposición anteriores, todas ellas habituales. El escape del directorio que Camel fue configurado para sondear es incondicional, mientras que el escape del límite de la propia cuenta del servidor depende además de si ese servidor confina la cuenta. La opción jailStartingDirectory, que está documentada como que restringe Camel al directorio de inicio y está habilitada por defecto, regía las escrituras del productor y, desde el trabajo de contención de localWorkDirectory, las descargas del consumidor al directorio de trabajo local, pero no restringía este operando remoto, por lo que su nombre y descripción afirmaban un límite que no se aplicaba aquí. El mismo punto de entrada ya había sido reconocido en el lado local: la ruta de descarga de localWorkDirectory se restringió para que un nombre de archivo remoto que contuviera segmentos de directorio padre no pudiera resolverse fuera del directorio de trabajo local. El operando remoto era la mitad restante de esa superficie. Este artefacto proporciona el esquema mina-sftp, una implementación SFTP alternativa cuyo consumidor deriva de la misma clase base RemoteFileConsumer y, por lo tanto, heredaba la misma resolución sin restricciones. Actualice a Apache Camel 4.23.0, que corrige el problema. Los usuarios de la rama de versiones 4.22.x deben actualizar a 4.22.1. Los usuarios de la rama de versiones LTS 4.18.x deben actualizar a 4.18.5. La rama 4.14.x alcanzó el fin de su vida útil y no recibe esta corrección; los usuarios de la misma deben pasar a una rama de versiones compatible.
Uso responsable
Utilice información sobre vulnerabilidades solo en sistemas de su propiedad o que esté autorizado a probar. Kitploit enlaza con metadatos de investigación pública y no almacena código de explotación ni cargas útiles maliciosas.