Skip to content

tool: don't grant PDs their parent's fault EP cap - #613

Merged
dreamliner787-9 merged 1 commit into
seL4:mainfrom
au-ts:remove_unnecessary_cap
Sep 28, 2026
Merged

dreamliner787-9 merged 1 commit into
seL4:mainfrom
au-ts:remove_unnecessary_cap

Conversation

@dreamliner787-9

Copy link
Copy Markdown
Collaborator

The capDL migration in 9d6b4e0 unintentionally gave child PDs a cap to their parent's fault endpoint. Oops.

In 2.3.1, this lets a PD send the parent fake faults with arbitrary messages. In 2.3.0 and earlier, it lets a PD receive, and so consume, fault IPCs meant for the parent.

Fix this by not granting the cap.

@midnightveil

Copy link
Copy Markdown
Collaborator

Some notes: this was reported by a user, and was also (independently!) noted in @zaklogician's least-privilege proofs for Microkit.

The capDL migration in 9d6b4e0 unintentionally gave child PDs a cap to
their parent's fault endpoint.

In 2.3.1, this lets a PD send the parent fake faults with arbitrary
messages. In 2.3.0 and earlier, it lets a PD receive, and so consume,
fault IPCs meant for the parent.

Fix this by not granting the cap.

Signed-off-by: Bill Nguyen <bill.nguyen@unsw.edu.au>
@dreamliner787-9
dreamliner787-9 merged commit 9c86417 into seL4:main Sep 28, 2026
12 checks passed
@midnightveil
midnightveil deleted the remove_unnecessary_cap branch September 28, 2026 06:42
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