Skip to content

Fix missing default.xex preflight failure (v2.3.1) - #6

Merged
mitch030504 merged 1 commit into
mainfrom
fix/xeunshackle-optional-overwrite-v2.3.1
Oct 22, 2026
Merged

mitch030504 merged 1 commit into
mainfrom
fix/xeunshackle-optional-overwrite-v2.3.1

Conversation

@mitch030504

Copy link
Copy Markdown
Owner

Root cause

BadBuilderLinux v2.3.0 required BadUpdatePayload/default.xex to already exist in the exploit payload before the XeUnshackle Max installer could replace it. The ABadAvatar 1.3 Beta installation may not create that path, so the preflight aborted with The expected installation overwrite did not occur: BadUpdatePayload/default.xex before formatting the USB.

Changes

  • Add OptionalOverwritePaths as a separate, explicit overlay allowlist; this permits a file to be either newly created or replaced, but never accepts undeclared collisions.
  • Keep the existing AllowedOverwritePaths semantics as required actual collisions. Optional overlays must be produced by their owning operation (typos and absent source paths remain errors).
  • Use the new option only for BadUpdatePayload/default.xex in both XeUnshackle and XeUnshackle Max; leave FreeMyXe semantics unchanged.
  • Reproduce the user's scenario with/without an exploit-side default.xex, test original XeUnshackle, verify other collisions are still rejected and optional paths must be produced.
  • Bump to 2.3.1 with release notes so the existing workflow builds and publishes Linux and Windows binaries after merge.

Safety

No disk was formatted during the user's reported failed preflight. This PR does not weaken disk selection, checksum, or final formatting confirmations. The standard CI plus pinned XeUnshackle Max upstream ZIP validation will run before merging. Physical USB/console tests are not performed by CI.

Allow the declared default.xex bootstrap overlay whether or not
ABadAvatar supplies an earlier copy, retaining strict collision checks.
@mitch030504
mitch030504 merged commit e8c2a94 into main Oct 22, 2026
4 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