CVE-2026-76847

act starts an HTTP Artifacts V4 backend whenever a workflow uses actions/upload-artifact@v4 or actions/download-artifact@v4. The control-plane RPCs of that backend, including CreateArtifact, GetSignedArtifactURL, ListArtifacts, FinalizeArtifact and DeleteArtifact, accept a caller-supplied workflow_run_backend_id and never check that it belongs to the requester: validateRunIDV4 in pkg/artifacts/artifacts_v4.go parses the value and returns it with the comparison against the requesting task's run ID left commented out. The signed URLs the backend issues are authenticated by an HMAC whose key is hardcoded to the four bytes 0xba 0xdb 0xee 0xf0, identical in every build, computed over a concatenation of endpoint, expiry, artifact name and task ID with no length prefix or delimiter, so signatures are both forgeable and ambiguous between differing artifact name and task ID pairs. The --artifact-server-addr flag defaults to the host's outbound address rather than loopback, leaving the backend reachable from the surrounding network. Any client that can reach it may read, overwrite or delete the artifacts of a concurrently running job with no credentials, exposing build outputs such as secrets and deployment credentials and permitting their replacement before the owning job consumes them.
Configurations

No configuration.

History

12 Oct 2026, 15:10

Type Values Removed Values Added
Summary
  • (es) act inicia un backend HTTP Artifacts V4 siempre que un flujo de trabajo utiliza actions/upload-artifact@v4 o actions/download-artifact@v4. Los RPCs del plano de control de ese backend, incluyendo CreateArtifact, GetSignedArtifactURL, ListArtifacts, FinalizeArtifact y DeleteArtifact, aceptan un workflow_run_backend_id proporcionado por el llamador y nunca verifican que pertenezca al solicitante: validateRunIDV4 en pkg/artifacts/artifacts_v4.go analiza el valor y lo devuelve con la comparación contra el ID de ejecución de la tarea solicitante dejada comentada. Las URLs firmadas que emite el backend son autenticadas por un HMAC cuya clave está codificada a los cuatro bytes 0xba 0xdb 0xee 0xf0, idéntica en cada compilación, calculada sobre una concatenación de endpoint, caducidad, nombre de artefacto e ID de tarea sin prefijo de longitud ni delimitador, por lo que las firmas son tanto falsificables como ambiguas entre pares diferentes de nombre de artefacto e ID de tarea. El flag --artifact-server-addr por defecto es la dirección de salida del host en lugar de loopback, dejando el backend accesible desde la red circundante. Cualquier cliente que pueda alcanzarlo puede leer, sobrescribir o eliminar los artefactos de un trabajo que se ejecuta concurrentemente sin credenciales, exponiendo salidas de compilación como secretos y credenciales de despliegue y permitiendo su reemplazo antes de que el trabajo propietario los consuma.

Information

Published : 2026-08-24 14:17

Updated : 2026-10-12 15:10


NVD link : CVE-2026-76847

Mitre link : CVE-2026-76847

CVE.ORG link : CVE-2026-76847


JSON object : View

Products Affected

No product.

CWE
CWE-321

Use of Hard-coded Cryptographic Key

CWE-862

Missing Authorization