Executive brief
openssl-encrypt is a Python library providing sandboxed plugin execution with file access restrictions. A flaw in the sandbox path validation allows plugins without READ_FILES permission to access sibling plugins' directories by exploiting a bare string-prefix match, compromising isolation between plugins running under the same user and potentially exposing sensitive plugin data.
Technical details
The vulnerability is a path traversal flaw in PluginSandbox._is_safe_path that performs a bare string-prefix match when authorizing file access, rather than validating complete directory paths. An attacker controlling a sandboxed plugin without the READ_FILES permission can craft a path that shares a name prefix with an allowed directory (e.g., accessing /plugins/foobar when /plugins/foo is whitelisted) to read or write files in another plugin's directory. This breaks the security model's per-plugin isolation guarantee. The fix validates each allowed directory as a complete match or with a trailing path separator. Patch available in version 1.4.9.
Affected products
- jahlives openssl-encrypt before 1.4.9
Timeline
- 2026-08-27: disclosed: Vulnerability disclosed
- 2026-08-12: patched: Fixed in version 1.4.9