Skip to content

Security: Missing resource-level authorization on build retrieval endpoint (potential IDOR/data leak)#3484

Open
tomaioo wants to merge 1 commit into
screwdriver-cd:masterfrom
tomaioo:fix/security/missing-resource-level-authorization-on-
Open

Security: Missing resource-level authorization on build retrieval endpoint (potential IDOR/data leak)#3484
tomaioo wants to merge 1 commit into
screwdriver-cd:masterfrom
tomaioo:fix/security/missing-resource-level-authorization-on-

Conversation

@tomaioo

@tomaioo tomaioo commented Apr 15, 2026

Copy link
Copy Markdown

Summary

Security: Missing resource-level authorization on build retrieval endpoint (potential IDOR/data leak)

Problem

Severity: High | File: plugins/builds/get.js:L23

The GET /builds/{id} handler returns build data (including environment and step details) without checking whether the caller can access the associated pipeline/build. This can allow authenticated users to enumerate and read build records outside their authorization boundary.

Solution

Before returning build data, enforce access checks against the build's pipeline/event ownership using credential-aware authorization helpers. Deny access when the token does not match the target resource.

Changes

  • plugins/builds/get.js (modified)

The `GET /builds/{id}` handler returns build data (including environment and step details) without checking whether the caller can access the associated pipeline/build. This can allow authenticated users to enumerate and read build records outside their authorization boundary.

Signed-off-by: tomaioo <203048277+tomaioo@users.noreply.github.com>
@coveralls

Copy link
Copy Markdown

Coverage Status

coverage: 95.276% (-0.1%) from 95.4% — tomaioo:fix/security/missing-resource-level-authorization-on- into screwdriver-cd:master

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants