PT-2026-54777 · Oras-Go · Oras-Go
CVE-2026-50163
·
Publicado
2026-07-01
·
Atualizado
2026-09-07
CVSS v3.1
7.1
Alta
| Vetor | AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:L/A:N |
Nome do Software Vulnerável e Versões Afetadas
oras-go versões anteriores a 2.6.2
Descrição
Um problema de travessia de caminho (path traversal) existe na função auxiliar de extração de tar
ensureLinkPath() em content/file/utils.go. A função valida se o alvo de um hardlink é resolvido dentro da base de extração, mas retorna a string target original não resolvida. Quando a função os.Link() é chamada com um caminho relativo, ela resolve o alvo em relação ao diretório de trabalho atual (CWD) do processo, em vez do diretório de extração pretendido.Um invasor que controle um registro compatível com OCI pode criar um arquivo tar malicioso com uma entrada
TypeLink e um Linkname relativo (ex: victim.secret). Se a camada for marcada com io.deis.oras.content.unpack: "true", o processo de extração cria um hardlink dentro da árvore de extração que compartilha um inode com um arquivo no CWD do invocador. Isso permite que um invasor leia arquivos sensíveis, como .env, .git/config, .aws/credentials e ~/.ssh/config, caso o processo seja executado por um usuário comum, ou qualquer arquivo no sistema de arquivos do host, caso o processo seja executado como root.Além disso, como o hardlink e o arquivo no CWD compartilham um inode, qualquer modificação feita no arquivo dentro da árvore de extração também modificará o arquivo original no CWD.
Recomendações
Atualize o oras-go para a versão 2.6.2.
Como mitigação temporária, restrinja o uso da anotação
io.deis.oras.content.unpack apenas a fontes confiáveis.Exploit
Correção
Path traversal
Link Following
Encontrou algum problema na descrição? Tem algo a acrescentar? Fique à vontade para nos escrever 👾
Identificadores relacionados
Produtos afetados
Oras-Go