Extensis Portfolio 4.0 contains an authenticated unrestricted file upload vulnerability in the Catalog Asset Upload function. An authenticated user can upload arbitrary files through this function, allowing unauthorized placement of attacker-controlled files on the server.
Mallory correlates every CVE against your assets, your vendors, and active adversary campaigns. Know which vulnerabilities matter for you, not just which ones are loud.
What it means. What to do now. Patch path, mitigations, and the assume-compromise checklist.
What an attacker gets, and what they’ve been doing with it.
If you can’t patch tonight, do this now.
Patch, then assume compromise.
1 valid exploit after Mallory filtered fakes, detection scripts, and README-only repos.
Repository contains a single Python exploit script (`extensis.py`) and a README describing an authenticated RCE PoC for Extensis Portfolio Server (CVE-2022-24251), noting that it bypasses the vendor’s 4.0.1 fix and that <=4.0.0 may also be affected by an auth bypass (CVE-2022-24255). Core workflow in `extensis.py`: - Authenticates to the target by first fetching `/api/v1/auth/public-key`, then RSA-encrypting the provided password (PKCS#1 v1.5) to match the server’s expected login format, and finally POSTing to `/api/v1/auth/login` to obtain a `session` token. - Enumerates catalogs via `/api/v1/catalog` and prefers a `Filesystem` storageType catalog (lower privilege requirement) with a usable watchfolder; otherwise falls back to `Vault` catalogs (requires higher privileges). - Uploads a base64-embedded JSP webshell (initially with a `.txt` extension) to a watchfolder upload endpoint: `/api/v1/catalog/{catalogId}/watchfolder/{watchfolderId}/upload`. - Renames the uploaded file to `.jsp` (to bypass extension-based restrictions mentioned in comments/README) and then triggers a server-side action to write the JSP into the webroot. The script supports two paths depending on catalog type: a “move” style action for Filesystem catalogs and an “export” style action for Vault catalogs (the latter requiring Catalog Administrator privileges). - On success, the resulting capability is RCE by requesting the dropped JSP in the webroot and supplying a `cmd` parameter (example shown as `?cmd=dir`). Overall purpose: an operational, authenticated exploit that achieves arbitrary file write to the webroot and remote command execution by planting a JSP webshell through Extensis Portfolio Server’s API endpoints and catalog/watchfolder mechanics.
Products and vendors Mallory has correlated with this vulnerability. Open in Mallory to drill down to specific CPE configurations and version ranges.
Vendor-confirmed product mapping. Mallory continuously reconciles this list against your asset inventory.
No public activity tracked yet. Mallory keeps watching.
No public activity observed for this vulnerability.
Query your assets running an affected version, and investigate the blast radius.
Every observed campaign linking this CVE to a named adversary.
Malware families riding this exploit, with evidence and IOCs.
YARA, Sigma, Snort, and vendor rules, auto-deployed to your SIEM.
Cross-references every affected SKU, including bundled OEM variants.
Community discussion across Reddit, Mastodon, and other social sources.