Description
Aperi'Solve is an open-source steganalysis web platform. In versions 3.1.3 through 3.2.0, when uploading a JPEG, a user can specify an optional password to accompany the JPEG. This password is then directly passed into an expect command, which is then subsequently passed into a bash -c command, without any form of sanitization or validation. An unauthenticated attacker can achieve root-level RCE inside the worker container with a single HTTP request, enabling full read/write access to all user-uploaded images, analysis results, and plaintext steganography passwords stored on disk. Because the container shares a Docker network with PostgreSQL and Redis (no authentication on either), the attacker can pivot to dump the entire database or manipulate the job queue to poison results for other users. If Docker socket mounting or host volume mounts are present, this could escalate to full host compromise. This would also include defacement of the website itself. This vulnerability is fixed in 3.2.1.
Affected products
aperisolve: aperisolve
References8
- github.com/Zeecka/AperiSolve/security/advisories/GHSA-8r22-62p7… ExploitVendor Advisory
- github.com/Zeecka/AperiSolve/security/advisories/GHSA-8r22-62p7… ExploitVendor Advisory
- github.com/Zeecka/AperiSolve/commit/0193ca4a7d8ae9d6ba6cde82d37… Patch
- github.com/Zeecka/AperiSolve/pull/195 Patch
- github.com/Zeecka/AperiSolve/blob/9fc388c629f86221bf2a265559eba…
- github.com/Zeecka/AperiSolve/pull/173
- github.com/Zeecka/AperiSolve/releases/tag/3.1.3
- github.com/Zeecka/AperiSolve/releases/tag/3.2.1 Release Notes
Metrics
- CVSS 3.1
-
9.8
CRITICAL
Score source: NVD
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H - CVSS 4.0
-
9.3
CRITICAL
Score source: CNA
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:H/VA:H/SC:L/SI:L/SA:L/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X - EPSS — exploit probability
- 1% percentile: 57 · as of 12 November 2026
- CWE
- CWE-78
Could this be exploited in your environment?
A patch closes the known hole. A penetration test shows what an attacker can still reach — with proof.