You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
[Security] Compiler host writes full unscrubbed exception to a plaintext temp file #51
On every reported exception the compiler host writes e.ToString() — the full message, all inner exceptions, and the full stack trace with absolute source/file paths (which embed the developer's username and source-tree layout) — to a plaintext file in CommonDirectory.Temp, with no scrubbing (unlike the upload path, which at least applies the denylist). The file is GUID-named and is not deleted.
Exploit scenario
On a host where the configured PostSharp temp/spool directory is shared or weakly permissioned, another local user reads PostSharp-Exception-*.txt and recovers absolute paths (usernames, project structure, internal hostnames) and any secrets present verbatim in the exception message.
Recommendation
Apply the same (ideally allowlist) scrubbing as the upload path; restrict the file to a per-user location with restrictive ACLs; delete it after the report is packaged; or gate the dump behind an explicit env var.
Severity notes
Most debatable: AC — H because the default temp is per-build/per-user (the cross-user-readable precondition is attacker-uncontrolled and non-default); on a misconfigured world-readable temp / shared CI agent, AC:L → ~4.0.
Activity
[-]Placeholder for #56[/-][+][Security] Compiler host writes full unscrubbed exception to a plaintext temp file[/+]gfraiteur commentedon Jun 27, 2026
Released in v2024.0.24.
-- Claude for Gael
gfraiteur commentedon Jun 27, 2026
Also released in v2026.0.13, which includes the upstream 2024.0.24 changes.
-- Claude for Gael