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.
CVE-2026-34977
This critical-severity CVE scores 9.8 under NVD CVSS v3. EPSS exploit probability: 0.3%, top 45% of all CVEs by exploit prediction. GitHub Security Advisory data not yet ingested — confidence will rise once GHSA publishes (typical lag: hours to days for open-source ecosystem CVEs; never for infrastructure-only CVEs).
- High severity, but no confirmed exploitation yet
No vendor fix yet — apply a workaround or compensating control (WAF / firewall / segmentation) and watch for a patch.
- CVSS v3
- 9.8
- EG Score
- 9.8(medium)
- EPSS
- 51.6%
- KEV
- Not listed
Published
April 6, 2026
Last Modified
June 23, 2026
Advisory Details (7)
Auto-updated Jul 12, 2026Unauthenticated RCE via JPSeek Analyzer Command · Advisory · Zeecka/AperiSolve · GitHub
https://github.com/Zeecka/AperiSolve/security/advisories/GHSA-8r22-62p7-9jrp3.2.1
Patch available: Zeecka/AperiSolve 3.2.1
https://github.com/Zeecka/AperiSolve/releases/tag/3.2.13.1.3
Patch available: Zeecka/AperiSolve 3.1.3
https://github.com/Zeecka/AperiSolve/releases/tag/3.1.3Fix shell injection in jpseek analyzer via password field
Patch available: Zeecka/AperiSolve 3.2.1 (PR #195 merged 2026-03-30)
https://github.com/Zeecka/AperiSolve/pull/195Adding jphide analyzer
Patch available: Zeecka/AperiSolve 3.1.3 (PR #173 merged 2026-01-13)
https://github.com/Zeecka/AperiSolve/pull/173commit 0193ca4a7d8a (Zeecka/AperiSolve)
Patch available: Zeecka/AperiSolve 3.2.1 (contains commit 0193ca4a7d8a)
https://github.com/Zeecka/AperiSolve/commit/0193ca4a7d8ae9d6ba6cde82d37a6f94953463b4AperiSolve/aperisolve/analyzers/jpseek.py at 9fc388c629f86221bf2a265559eba5650d39fc29 · Zeecka/AperiSolve · GitHub
https://github.com/Zeecka/AperiSolve/blob/9fc388c629f86221bf2a265559eba5650d39fc29/aperisolve/analyzers/jpseek.pyWeakness Classification(1)
MITRE Common Weakness Enumeration — the root-cause categories this CVE belongs to.
Data Freshness Timeline
(refreshed 9× in last 7d / 44× in last 30d)
Each row is a source pipeline that fetched or updated this CVE on that date, with what changed. For example, "NVD update" means NVD published or revised its analysis for this CVE; "MITRE cvelistV5" means we ingested or refreshed it from the CNA feed. Most recent first.
Showing the most recent 100 of 117 total refreshes for this CVE.
- 2026-07-15 16:57 UTCEPSS rescore
- 2026-07-15 16:57 UTCEPSS rescore
- 2026-07-15 02:00 UTCEPSS rescore
- 2026-07-13 22:30 UTCEPSS rescore
- 2026-07-13 06:13 UTCEPSS rescore
- 2026-07-13 06:13 UTCEPSS rescore
- 2026-07-12 05:46 UTCEPSS rescore
- 2026-07-11 08:27 UTCEPSS rescore
- 2026-07-09 19:10 UTCEPSS rescore
- 2026-07-08 15:15 UTCEPSS rescore
- 2026-07-07 13:46 UTCEPSS rescore
- 2026-07-06 16:27 UTCEPSS rescore
- 2026-07-06 16:27 UTCEPSS rescore
- 2026-07-06 02:23 UTCEPSS rescore
- 2026-07-06 02:23 UTCEPSS rescore
- 2026-07-05 02:30 UTCEPSS rescore
- 2026-07-04 06:31 UTCEPSS rescore
- 2026-07-01 15:06 UTCEPSS rescore
- 2026-06-30 23:22 UTCEPSS rescore
- 2026-06-29 14:06 UTCEPSS rescore
- 2026-06-29 14:06 UTCEPSS rescore
- 2026-06-28 14:07 UTCEPSS rescore
- 2026-06-28 14:07 UTCEPSS rescore
- 2026-06-28 04:56 UTCEPSS rescore
- 2026-06-28 04:56 UTCEPSS rescore
Show 75 moreShow fewer
- 2026-06-27 03:08 UTCEPSS rescore
- 2026-06-25 13:49 UTCEPSS rescore
- 2026-06-25 13:49 UTCEPSS rescore
- 2026-06-24 14:05 UTCEPSS rescore
- 2026-06-23 21:33 UTCEPSS rescore
- 2026-06-23 21:33 UTCEPSS rescore
- 2026-06-23 02:00 UTCNVD updateCVSS v3 → 9.8
- 2026-06-23 00:00 UTCMITRE cvelistV5CVSS v3 → 9.3
- 2026-06-22 14:25 UTCEPSS rescore
- 2026-06-22 14:25 UTCEPSS rescore
- 2026-06-21 14:56 UTCEPSS rescore
- 2026-06-21 14:56 UTCEPSS rescore
- 2026-06-21 01:59 UTCEPSS rescore
- 2026-06-19 19:25 UTCEPSS rescore
- 2026-06-19 19:25 UTCEPSS rescore
- 2026-06-18 17:52 UTCEPSS rescore
- 2026-06-18 17:52 UTCEPSS rescore
- 2026-06-17 17:53 UTCEPSS rescore
- 2026-06-16 17:52 UTCEPSS rescore
- 2026-06-15 17:49 UTCEPSS rescore
- 2026-06-14 23:18 UTCEPSS rescore
- 2026-06-13 23:00 UTCEPSS rescore
- 2026-06-12 23:12 UTCEPSS rescore
- 2026-06-12 23:12 UTCEPSS rescore
- 2026-06-12 05:05 UTCEG score recompute
- 2026-06-12 01:23 UTCEG score recompute
- 2026-06-11 21:36 UTCEG score recompute
- 2026-06-11 14:00 UTCEPSS rescore
- 2026-06-10 22:18 UTCEPSS rescore
- 2026-06-10 20:32 UTCEG score recompute
- 2026-06-10 16:47 UTCEG score recompute
- 2026-06-10 13:22 UTCEPSS rescore
- 2026-06-10 13:04 UTCEG score recompute
- 2026-06-10 08:40 UTCEG score recompute
- 2026-06-10 04:58 UTCEG score recompute
- 2026-06-10 01:13 UTCEG score recompute
- 2026-06-09 17:49 UTCEG score recompute
- 2026-06-09 14:06 UTCEG score recompute
- 2026-06-08 14:17 UTCEPSS rescore
- 2026-06-08 14:17 UTCEPSS rescore
- 2026-06-08 12:33 UTCEG score recompute
- 2026-06-08 08:51 UTCEG score recompute
- 2026-06-08 05:08 UTCEG score recompute
- 2026-06-08 01:25 UTCEG score recompute
- 2026-06-07 21:43 UTCEG score recompute
- 2026-06-07 18:00 UTCEG score recompute
- 2026-06-07 15:25 UTCEPSS rescore
- 2026-06-07 15:25 UTCEPSS rescore
- 2026-06-07 15:25 UTCEPSS rescore
- 2026-06-07 14:17 UTCEG score recompute
- 2026-06-07 10:29 UTCEG score recompute
- 2026-06-06 13:47 UTCEPSS rescore
- 2026-06-06 13:47 UTCEPSS rescore
- 2026-06-05 22:47 UTCEPSS rescore
- 2026-06-05 22:47 UTCEPSS rescore
- 2026-06-05 06:10 UTCEPSS rescore
- 2026-06-05 06:10 UTCEPSS rescore
- 2026-06-04 13:12 UTCEPSS rescore
- 2026-06-04 13:12 UTCEPSS rescore
- 2026-06-02 20:13 UTCEPSS rescore
- 2026-06-01 13:52 UTCEPSS rescore
- 2026-06-01 13:52 UTCEPSS rescore
- 2026-06-01 13:51 UTCEPSS rescore
- 2026-05-31 22:30 UTCEPSS rescore
- 2026-05-31 22:30 UTCEPSS rescore
- 2026-05-31 00:16 UTCEPSS rescore
- 2026-05-31 00:16 UTCEPSS rescore
- 2026-05-31 00:16 UTCEPSS rescore
- 2026-05-29 13:44 UTCEPSS rescore
- 2026-05-29 13:44 UTCEPSS rescore
- 2026-05-28 13:44 UTCEPSS rescore
- 2026-05-28 13:44 UTCEPSS rescore
- 2026-05-28 13:44 UTCEPSS rescore
- 2026-05-27 13:40 UTCEPSS rescore
- 2026-05-27 13:40 UTCEPSS rescore
Related CVEs(same CWE)
Same CWE
10 shownCWE-78
Frequently asked(5)
What is CVE-2026-34977?
When was CVE-2026-34977 disclosed?
Is CVE-2026-34977 actively exploited?
What is the CVSS score of CVE-2026-34977?
How do I remediate CVE-2026-34977?
Dependency Blast Radius
Explore the affected products and dependency analysis for CVE-2026-34977
Is Your Infrastructure Affected by CVE-2026-34977?
EchelonGraph automatically scans your cloud infrastructure and maps CVE exposure using blast radius analysis.