Skip to content

fix(update-agent): validate unsigned claim source names and hashes - #1389

Open
Cr0wTom wants to merge 1 commit into
mainfrom
thomassermpinis/vuln-6328-fuzzyfuzzer-agentp0-update-agent-no-sig-path-production
Open

fix(update-agent): validate unsigned claim source names and hashes#1389
Cr0wTom wants to merge 1 commit into
mainfrom
thomassermpinis/vuln-6328-fuzzyfuzzer-agentp0-update-agent-no-sig-path-production

Conversation

@Cr0wTom

@Cr0wTom Cr0wTom commented Sep 4, 2026

Copy link
Copy Markdown
Collaborator

sources is not covered by the claim's manifest signature, and Source.name/hash flowed unvalidated into unique_name()Path::join → root-privileged file create/truncate — a tampered claim could write outside the downloads dir (../../etc/cron.d/x).

Fix: ClaimBuilder::build rejects names that aren't a single ordinary path component and hashes that aren't 64 hex chars; make_component_path re-checks at the point of use. Post-signature warn!s collect fleet data on name≠key and extra sources (future enforcement, ORBS-1347). No behavior change for valid claims.

Tests: core accept/reject matrices + full-claim tests against the real parser with an in-test key (traversal name rejected under a valid signature). cargo test -p orb-update-agent-core green; update-agent tests run in Linux CI.

Mitigates: VULN-6328 (fixed); path element of VULN-6331/6332; external disclosure report (Sep 2026), source-name path traversal. Part 1/3 of claim hardening.

Update: reviewed by GPT-6 with no issues surfaced.

@Cr0wTom
Cr0wTom requested a review from a team as a code owner September 4, 2026 06:16
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