` endFile` deriva o nome do arquivo servido do caminho de solicitação bruto ao abrir o arquivo do caminho limpo, por isso, a adição de uma barra de rastreamento esvazia o nome derivado e derrota tanto a regra de nunca- servidor para o arquivo ACL quanto a lista de blocos. ## Encontrar (médio): ACL de rastreamento e orbitação de arquivos ocultos. httpserver/handler.go, sendFile (linhas) 789 - 801 ) pega o nome do arquivo do RAW req.URL.Path enquanto o arquivo em si é aberto do caminho de arquivo.Limpiado-. Os dois discordam, e uma barra de rastreamento faz com que o nome derivado seja a string vazia. Ambas as teclas de proteção nesse nome derivado, por isso ambos são derrotados: a regra que nunca serve o arquivo. goshs ACL, e a lista acl. Block.

Medido, com controles negativos. ``` GET / bloqueado/ secret.txt -> 404 (controle, bloqueado corretamente) GET /bloqued/ secret.txt/ -> 200 + conteúdo GET / bloqueado/. goshs/ -> 200, retorna o próprio arquivo ACL, incluindo o administrador:$ 2 a$... bcrypt hash ``` Não autenticado quando o ACL é configurado apenas em blocos (uso comum). Indicado com precisão: A AUTENTICAÇÃO NÃO É PASSADA. Um pedido não autenticado contra uma pasta protegida pela autenticação retorna ainda 401 sob o mesmo truque; testei isso. A alegação é especificamente que a lista de blocos e a proteção do arquivo ACL são evitadas. Evidências na árvore que sendFile é o defeito: os manipuladores doDir e do bloco dos irmãosBaixar ambos derivam o nome corretamente; sendFile é o único outlier.

1. Derive o nome do arquivo servido do mesmo caminho limpo usado para abrir o arquivo, para que a decisão de autorização e o acesso ao arquivo não possam discordar. A assistência de IA foi usada durante a investigação. O achado foi reproduzido contra um servidor em execução no loopback com controles negativos, incluindo o 404 - versus- 200 o par e o controle de diretório autenticado que mostra autenticação não são afetados.

Registro de aconselhamento: GHSA- 964 w- f 6 gj- 5236. Identificadores relacionados: CVE- 2026 - 66064. Tempo: GitHub Advisory Database publicou este registro em 2026 - 07 - 28 T 22: 26: 28.000 Z e lista a sua última modificação como 2026 - 07 - 28 T 22: 26: 28.000 Z.

Gravidade: MODERAR. Dados de pontuação publicados: CVSS_V 3: CVSS: 3.1 /AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:N/A:N. Software afetado e informações de versão: Go pacote github.com/patrickhener/goshs/v 2 — ECOSISTEM: introduzido 0, corrigido 2.1.5 - 0.20260727065949 - f 3 ef 599 e 4091. Ir pacote goshs.de/ goshs/v 2 — ECOSISTEM: introduzido 0, corrigido 2.1.5 - 0.20260727065949 - f 3 ef 599 e 4091. Vá pacote github.com/ patrickhener/ goshs — ECOSISTEM: introduzido 0, última afetada 1.1.4. Go pacote goshs.de/ goshs — ECOSISTEM: introduzido 0, última afetada 1.1.4.

Classificação e evidência: identificadores de fraqueza CWE- 22, CWE- 41, CWE- 863. O registro contém 4 suporte de referências nestes tipos: WEB, PACKAGE.