Hacktoberfest 2026: los issues que los mantenedores marcaron para octubre, abiertos y aptos para principiantes. Explorar issues de Hacktoberfest

verifier: simple-signing payload digest binding is not independently validated

Abierto
#198 0 comentarios 0 reacciones 0 asignados Ver en GitHub

Los mantenedores suelen responder en 1 día

Nadie ha tomado este issue todavía.

Evaluación

Dificultad
4/5
Tiempo estimado
3-5 días
Aptitud para principiantes
48/100
Tipo de issue
Error
Claridad
Bien especificado
Estado de actividad
Tranquilo
Stack tecnológico
go
Área
security

Línea de trabajo

Inspecciona la reconstrucción del bundle en container/verifier y los puntos de entrada getSimpleSigningLayersFromSignatureManifest y getBundleMsgSignature de sigstore.go. Sigue el payload simple-signing verificado y, después, valida su critical.image.docker-manifest-digest contra el digest del artefacto; se considera completado cuando los payloads que no coincidan o no se puedan analizar fallen de forma segura tanto en los flujos keyless como key-signed.

Escrito por el modelo de indexación a partir del texto del issue.

Descripción

needs-triage

Surfaced during review of #197 (pre-existing, applies to both keyless and key-signed flows — filing separately as requested there).

container/verifier's bundle reconstruction never parses the simple-signing payload's critical.image.docker-manifest-digest. Both the bundle's MessageDigest and the verification policy's artifact digest derive from the registry-supplied layer.Digest.Hex, so sigstore-go's digest cross-check is tautological: it proves the signature covers the payload layer, but not that the payload's embedded manifest digest matches the artifact actually being verified (CWE-354 / OWASP A08:2021).

Exploitation requires registry compromise (serving a signature manifest whose payload binds a different artifact digest), but this package is becoming the trust anchor for ToolHive's skill verification (stacklok/toolhive#5899), so the binding should be validated explicitly:

  • parse the simple-signing payload JSON after signature verification,
  • compare critical.image.docker-manifest-digest against the digest of the artifact under verification,
  • fail closed on mismatch or unparsable payload.

Refs: #192, #197, sigstore.go's getSimpleSigningLayersFromSignatureManifest / getBundleMsgSignature.

Lenguaje dominante
Go
Estrellas
2
Forks
5
Merge medio
1 d 16 h
PR fusionados (30 d)
84

Preparar el entorno

Este proyecto no incluye contenedor de desarrollo, Dockerfile ni guía de contribución, así que la configuración corre por tu cuenta: empieza por su README y consulta nuestra guía para la primera contribución para los pasos generales.

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Más de stacklok/toolhive-core

Todos los issues de stacklok/toolhive-core

Issues similares

Más issues de Go

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.