Unknown · Reposilite · CVE-2024-36116
Nome do software vulnerável e versões afetadas:
Versões do Reposilite anteriores à 3.5.12
Descrição:
A vulnerabilidade está relacionada à expansão de arquivos Javadoc no Reposilite, onde o `file.name` extraído do arquivo pode conter caracteres de traversal de caminho, permitindo que um invasor sobrescreva qualquer arquivo local na instância do Reposilite. Isso pode levar à execução remota de código, por exemplo, colocando um novo plugin no diretório ‘$workspace$/plugins’. Alternativamente, um invasor pode sobrescrever o conteúdo de qualquer outro pacote. O invasor pode usar seu próprio pacote malicioso do Maven Central para sobrescrever qualquer outro pacote no Reposilite.
Recomendações:
Para versões anteriores à 3.5.12, atualize para a versão 3.5.12 ou posterior para resolver o problema. Como solução alternativa temporária, considere normalizar a variável `file.name` antes de concatená-la com `javadocUnpackPath` para evitar ataques de traversal de caminho. Por exemplo, use `val path = Paths.get(javadocUnpackPath.toString() + “/” + Paths.get(file.name).normalize().toString())` no arquivo `JavadocContainerService.kt`.