Bug 2487069 (CVE-2026-53470) - CVE-2026-53470 migration-planner: GetSourceDownloadURL Missing Organization Check
Summary: CVE-2026-53470 migration-planner: GetSourceDownloadURL Missing Organization C...
Keywords:
Status: NEW
Alias: CVE-2026-53470
Product: Security Response
Classification: Other
Component: vulnerability
Version: unspecified
Hardware: All
OS: Linux
high
high
Target Milestone: ---
Assignee: Product Security
QA Contact:
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2026-06-09 17:47 UTC by OSIDB Bzimport
Modified: 2026-06-10 13:53 UTC (History)
0 users

Fixed In Version:
Clone Of:
Environment:
Last Closed:
Embargoed:


Attachments (Terms of Use)

Description OSIDB Bzimport 2026-06-09 17:47:21 UTC
Repository: migration-planner  
Priority: High  
Location: internal/handlers/v1alpha1/source.go:236

Description:  
GET /api/v1/sources/{id}/image-url returns presigned S3 URLs for OVA appliances. Unlike sibling endpoints (GetSource/UpdateSource/DeleteSource), this handler skips the user.Organization == source.OrgID ownership check and proceeds directly to URL generation. Any bearer token plus victim's source UUID yields a download link.

Security Impact:  

OVA embeds victim's long-lived agent JWT and source configuration

Attacker gains credential to write to victim's source (when combined with f002)

Discloses proxy/network configuration

UUIDv4 entropy is insufficient when UUIDs appear in shared assessments, support tickets, browser history

Fix Suggestion:  
Fetch the source first, compare user.Username/user.Organization against source.Username/source.OrgID, and return 404 on mismatch (not 403 to avoid existence oracle). Long-term: wrap SourceService in an Authz decorator. See patches/f003.patch.


Note You need to log in before you can comment on or make changes to this bug.