Skip to content

Scope the policy Authorization header to the manifest host - #13

Merged
rodchristiansen merged 1 commit into
mainfrom
fix/scope-auth-header
Jul 21, 2026
Merged

Scope the policy Authorization header to the manifest host#13
rodchristiansen merged 1 commit into
mainfrom
fix/scope-auth-header

Conversation

@rodchristiansen

Copy link
Copy Markdown
Contributor

Root cause of DFS-CAD-03's fleet-blocking 'Download failed: Forbidden': the CSP AuthorizationHeader (Bearer token in HKLM\SOFTWARE\Policies\BootstrapMate) was attached to every request, and Azure blob storage 403s public blobs on foreign Authorization headers. Verified on-box via remote registry read; browser (no header) downloads the same blob fine. Header is now scoped to the manifest host only - also stops leaking the org token to third-party hosts - and the package client gains the standard User-Agent.

The CSP-delivered AuthorizationHeader authenticates against the manifest
server, but it was attached to every HTTP request. Azure blob storage
returns 403 Forbidden for public-blob requests carrying an Authorization
header it cannot validate, so any device with the policy failed every
package download instantly ("Download failed: Forbidden", DFS-CAD-03
2026-07-21) - and the org token leaked to whatever hosts package URLs
point at.

Record the host of the manifest URL actually used this run and attach the
header only to requests for that host. Cross-host downloads (the blob
endpoint) now go out clean, matching what a browser sends. Also give the
package download client the same BootstrapMate/<version> User-Agent the
manifest client already sends.
@rodchristiansen
rodchristiansen merged commit e5e46d5 into main Jul 21, 2026
2 checks passed
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.

1 participant