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
Commit 0cb7042
Browse filesBrowse the repository at this point in the historyBrowse files
RawView drives Ghidra's importers and native decompiler over adversarial,
possibly-hostile binaries. Ghidra < 12.1 has high-severity CVEs that a
crafted binary can trigger during import/decompilation:
- CVE-2026-52757 (7.8) decompiler HighVariable::merge heap use-after-free
- CVE-2026-52752 (7.8) SleighBuilder use-after-free
- CVE-2026-52750 (7.8) Swift demangler arbitrary code execution
- CVE-2026-52753 (5.5) Mach-O export-trie OOM / JVM crash
Changes:
- Bump default Ghidra bundle to 12.1.3 (GHIDRA_BUNDLE_URL); auto-resolve
already prefers the newest GitHub PUBLIC release.
- New RAWVIEW_SANDBOX=bwrap option (Linux). Runs the Ghidra JVM inside a
bubblewrap mount-namespace sandbox: read-only root, /home+/root+/media
/mnt+/srv+/var stripped to tmpfs, toolchain re-bound read-only, project
dir the only writable host tree. A compromise of the Ghidra process can
no longer read user wallets/.ssh/browsers. Defaults on Linux when bwrap
is available; degrades to unsandboxed if bwrap is missing.
- controller/smoke test thread the sandbox setting through.
- README + CHANGELOG: document Ghidra 12.1 requirement + sandbox.
Version bump to 1.3.3 (security release).
Copy file name to clipboardExpand all lines: README.md
+24Lines changed: 24 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -105,6 +105,30 @@ Writes `RawView-source-<version>.zip` on the parent of this repo folder.
105
105
106
106
Do **not** commit API keys, tokens, or `rawview.env` from your machine. Settings normally live under `%LOCALAPPDATA%\RawView\`. `.gitignore` excludes common secret filenames and large local Ghidra/JDK trees if they are ever copied next to the clone.
107
107
108
+
### Ghidra version (CVE fixes)
109
+
110
+
RawView analyzes untrusted binaries **through Ghidra's importers and native decompiler**. Ghidra releases before **12.1** have known high-severity vulnerabilities that a crafted binary can trigger during import or decompilation:
111
+
112
+
-**CVE-2026-52757** (CVSS 7.8) — heap use-after-free in the decompiler's `HighVariable::merge()`, triggerable by a crafted binary.
113
+
-**CVE-2026-52752** (CVSS 7.8) — SleighBuilder use-after-free, triggerable by decompiling a malicious binary.
114
+
-**CVE-2026-52750** (CVSS 7.8) — Swift demangler arbitrary code execution via a malicious Ghidra project.
RawView requires **Ghidra ≥ 12.1** to analyze hostile samples. The bundled default and `GHIDRA_BUNDLE_URL` point at the latest public release (auto-resolved at download time).
118
+
119
+
### Sandboxed Ghidra engine (optional, Linux)
120
+
121
+
On Linux with [bubblewrap](https://github.com/containers/bubblewrap), RawView can run the **entire Ghidra JVM (parsers + native decompiler) inside a mount-namespace sandbox** while the Python/Qt app stays user-mode on the host. `RAWVIEW_SANDBOX=bwrap` (default on Linux when `bwrap` is installed) wraps the JVM launch:
122
+
123
+
- Read-only root, sensitive trees stripped to tmpfs (`/home`, `/root`, `/media`, `/mnt`, `/srv`, `/var`).
124
+
- The toolchain (Ghidra, JDK, bridge classes, py4j jar) is re-bound read-only at its real path.
125
+
- The **project dir** is the only writable host tree.
126
+
- Py4J stays loopback-only; network namespace is shared.
127
+
128
+
This means a compromise of the Ghidra process — e.g. an unknown importer/decompiler bug in the parser — **cannot read your `~/.ssh`, wallets, browsers, or other host files**. Set `RAWVIEW_SANDBOX=none` to disable, or `bwrap` to enable. Windows always uses `none` (no bwrap).
129
+
130
+
> Best practice: for highly hostile samples, still consider a dedicated analysis **VM**; the sandbox removes file access, but shared-kernel+network residual risk remains.
0 commit comments