Repository navigation
test(windows): deny AppContainer short-name escapes - #58
Conversation
Update the vendored tinybus submodule to a newer upstream revision. Auto-committed-on: cuttlefish Co-authored-by: Medulla <medulla@tinyhumans.ai>
Add a Windows AppContainer test that resolves an 8.3 short-name alias for a file outside the granted roots and asserts the sandbox still denies the read, guarding against path checks that only compare long names. The new test is registered in the CI allowlists so it runs on the Windows runners. Auto-committed-on: cuttlefish Co-authored-by: Medulla <medulla@tinyhumans.ai>
The assertion previously required a tilde anywhere in the short path, which could be satisfied by a parent directory rather than the secret file itself. It now inspects just the file name component so the test verifies the alias was actually generated for the probe file. Auto-committed-on: cuttlefish Co-authored-by: Medulla <medulla@tinyhumans.ai>
Reformatted the PowerShell command arguments and the empty-path assertion in the short path test so they match rustfmt's line width. No behaviour change. Auto-committed-on: cuttlefish Co-authored-by: Medulla <medulla@tinyhumans.ai>
Auto-committed-on: cuttlefish Co-authored-by: Medulla <medulla@tinyhumans.ai>
Extracted the GetShortPathNameW lookup and the AppContainer child probe from the short-name alias denial test into separate helper functions so the test body reads as a sequence of assertions. Behaviour is unchanged. Auto-committed-on: cuttlefish Co-authored-by: Medulla <medulla@tinyhumans.ai>
The short-name read probe now returns a bool instead of an ExitStatus, and the verbatim-path test asserts on that bool, so the assertion message reports the actual status value rather than a bare success flag. Auto-committed-on: cuttlefish Co-authored-by: Medulla <medulla@tinyhumans.ai>
Two AppContainer tests asserted the wrong status expression, so the verbatim-path test checked a bare ExitStatus and the short-name test checked success(). Both now assert the intended condition. Auto-committed-on: cuttlefish Co-authored-by: Medulla <medulla@tinyhumans.ai>
|
CI update: the new 8.3 short-name AppContainer probe passed in the dedicated Windows Server 2025 x64 job and the full Windows 11 ARM64 acceptance lane. In full run 40071995370, the first Windows Server 2025 feature-test attempt failed only because the unrelated |
Merge updateMerged to All 20 hosted checks passed on run 40071995370, attempt 2, including Windows Server 2025 x64, Windows 11 ARM64, and the dedicated AppContainer job. The first attempt failed only on the unrelated 10-second |
Adds a live Windows AppContainer probe for reading a sibling secret through its 8.3 short-name alias. The host obtains the alias with
GetShortPathNameW, requires the secret filename to have a distinct short alias, and proves the alias works before the jailed child attempts the same read. The child must report access denied and never print the secret. The test fails if the runner does not produce a short alias; it does not skip.Adds the exact test filter to both the Windows Server 2025 x64 and Windows 11 ARM64 AppContainer acceptance steps. No sandbox behavior or Windows CPU support changes; CPU remains typed
Unsupported.Validation:
cargo fmt --all -- --checkcargo check --locked --offline --target x86_64-pc-windows-gnu -p tinybox-jail --testsbash -nfor both focused Windows stepswindows_tests.rs(too_many_linesand twoused_underscore_bindingfindings); it reports no findings in this change.Part of tinyhumansai#27
Part of tinyhumansai/openhuman#7328