{"schemaVersion":3,"id":"CVE-2025-66022","aliases":[],"status":"published","duplicateOf":null,"title":null,"description":"FACTION is a PenTesting Report Generation and Collaboration Framework. Prior to version 1.7.1, an extension execution path in Faction’s extension framework permits untrusted extension code to execute arbitrary system commands on the server when a lifecycle hook is invoked, resulting in remote code execution (RCE) on the host running Faction. Due to a missing authentication check on the /portal/AppStoreDashboard endpoint, an attacker can access the extension management UI and upload a malicious extension without any authentication, making this vulnerability exploitable by unauthenticated users. This issue has been patched in version 1.7.1.","dates":{"published":"2025-11-26T02:08:14.805Z","modified":"2025-11-26T15:13:42.175Z","reserved":null,"kevAdded":[],"kevDue":[]},"cvss":{"headline":{"score":9.8,"severity":"critical","version":"3.1","versionLabel":"v3.1","source":"NVD","vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H","computed":false,"selection":"backend-summary"},"metrics":[{"version":"3.1","versionLabel":"v3.1","source":"CVE.org","score":9.7,"severity":"critical","vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:H/I:H/A:H","exploitability":null,"impact":null,"computed":false},{"version":"3.1","versionLabel":"v3.1","source":"NVD","score":9.8,"severity":"critical","vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H","exploitability":null,"impact":null,"computed":false}]},"epss":{"probability":0.00675,"percentile":0.51242,"severity":"low","asOf":"2026-10-18T00:00:00.000Z","change":{"pp":0,"baselineDate":"2026-09-18T00:00:00.000Z","baselineScore":0.00675},"history":[{"date":"2026-09-14T00:00:00.000Z","score":0.00675,"percentile":null},{"date":"2026-09-15T00:00:00.000Z","score":0.00675,"percentile":null},{"date":"2026-09-16T00:00:00.000Z","score":0.00675,"percentile":null},{"date":"2026-09-17T00:00:00.000Z","score":0.00675,"percentile":null},{"date":"2026-09-18T00:00:00.000Z","score":0.00675,"percentile":null},{"date":"2026-09-19T00:00:00.000Z","score":0.00675,"percentile":null},{"date":"2026-09-20T00:00:00.000Z","score":0.00675,"percentile":null},{"date":"2026-09-21T00:00:00.000Z","score":0.00675,"percentile":null},{"date":"2026-09-22T00:00:00.000Z","score":0.00675,"percentile":null},{"date":"2026-09-23T00:00:00.000Z","score":0.00675,"percentile":null},{"date":"2026-09-24T00:00:00.000Z","score":0.00675,"percentile":null},{"date":"2026-09-25T00:00:00.000Z","score":0.00675,"percentile":null},{"date":"2026-09-26T00:00:00.000Z","score":0.00675,"percentile":null},{"date":"2026-09-27T00:00:00.000Z","score":0.00675,"percentile":null},{"date":"2026-09-28T00:00:00.000Z","score":0.00675,"percentile":null},{"date":"2026-09-29T00:00:00.000Z","score":0.00675,"percentile":null},{"date":"2026-09-30T00:00:00.000Z","score":0.00675,"percentile":null},{"date":"2026-10-01T00:00:00.000Z","score":0.00675,"percentile":null},{"date":"2026-10-02T00:00:00.000Z","score":0.00675,"percentile":null},{"date":"2026-10-03T00:00:00.000Z","score":0.00675,"percentile":null},{"date":"2026-10-04T00:00:00.000Z","score":0.00675,"percentile":null},{"date":"2026-10-05T00:00:00.000Z","score":0.00675,"percentile":null},{"date":"2026-10-06T00:00:00.000Z","score":0.00675,"percentile":null},{"date":"2026-10-07T00:00:00.000Z","score":0.00675,"percentile":null},{"date":"2026-10-08T00:00:00.000Z","score":0.00675,"percentile":null},{"date":"2026-10-09T00:00:00.000Z","score":0.00675,"percentile":null},{"date":"2026-10-10T00:00:00.000Z","score":0.00675,"percentile":null},{"date":"2026-10-11T00:00:00.000Z","score":0.00675,"percentile":null},{"date":"2026-10-12T00:00:00.000Z","score":0.00675,"percentile":null},{"date":"2026-10-13T00:00:00.000Z","score":0.00675,"percentile":null},{"date":"2026-10-14T00:00:00.000Z","score":0.00675,"percentile":null},{"date":"2026-10-15T00:00:00.000Z","score":0.00675,"percentile":null},{"date":"2026-10-16T00:00:00.000Z","score":0.00675,"percentile":null},{"date":"2026-10-17T00:00:00.000Z","score":0.00675,"percentile":null},{"date":"2026-10-18T00:00:00.000Z","score":0.00675,"percentile":0.51242}],"last30":[{"date":"2026-09-18T00:00:00.000Z","score":0.00675,"percentile":null},{"date":"2026-09-19T00:00:00.000Z","score":0.00675,"percentile":null},{"date":"2026-09-20T00:00:00.000Z","score":0.00675,"percentile":null},{"date":"2026-09-21T00:00:00.000Z","score":0.00675,"percentile":null},{"date":"2026-09-22T00:00:00.000Z","score":0.00675,"percentile":null},{"date":"2026-09-23T00:00:00.000Z","score":0.00675,"percentile":null},{"date":"2026-09-24T00:00:00.000Z","score":0.00675,"percentile":null},{"date":"2026-09-25T00:00:00.000Z","score":0.00675,"percentile":null},{"date":"2026-09-26T00:00:00.000Z","score":0.00675,"percentile":null},{"date":"2026-09-27T00:00:00.000Z","score":0.00675,"percentile":null},{"date":"2026-09-28T00:00:00.000Z","score":0.00675,"percentile":null},{"date":"2026-09-29T00:00:00.000Z","score":0.00675,"percentile":null},{"date":"2026-09-30T00:00:00.000Z","score":0.00675,"percentile":null},{"date":"2026-10-01T00:00:00.000Z","score":0.00675,"percentile":null},{"date":"2026-10-02T00:00:00.000Z","score":0.00675,"percentile":null},{"date":"2026-10-03T00:00:00.000Z","score":0.00675,"percentile":null},{"date":"2026-10-04T00:00:00.000Z","score":0.00675,"percentile":null},{"date":"2026-10-05T00:00:00.000Z","score":0.00675,"percentile":null},{"date":"2026-10-06T00:00:00.000Z","score":0.00675,"percentile":null},{"date":"2026-10-07T00:00:00.000Z","score":0.00675,"percentile":null},{"date":"2026-10-08T00:00:00.000Z","score":0.00675,"percentile":null},{"date":"2026-10-09T00:00:00.000Z","score":0.00675,"percentile":null},{"date":"2026-10-10T00:00:00.000Z","score":0.00675,"percentile":null},{"date":"2026-10-11T00:00:00.000Z","score":0.00675,"percentile":null},{"date":"2026-10-12T00:00:00.000Z","score":0.00675,"percentile":null},{"date":"2026-10-13T00:00:00.000Z","score":0.00675,"percentile":null},{"date":"2026-10-14T00:00:00.000Z","score":0.00675,"percentile":null},{"date":"2026-10-15T00:00:00.000Z","score":0.00675,"percentile":null},{"date":"2026-10-16T00:00:00.000Z","score":0.00675,"percentile":null},{"date":"2026-10-17T00:00:00.000Z","score":0.00675,"percentile":null},{"date":"2026-10-18T00:00:00.000Z","score":0.00675,"percentile":0.51242}]},"kev":{"state":"not-listed","entries":[],"listedCount":0,"totalCatalogs":3,"catalogs":[{"source":"cisa","label":"CISA","listed":false,"entry":null},{"source":"enisa","label":"ENISA","listed":false,"entry":null},{"source":"circl","label":"CIRCL","listed":false,"entry":null}]},"ransomware":{"state":"none-recorded","sources":[]},"exploits":[{"id":"GITHUB_FACTIONSECURITY_FACTION","name":"Faction","source":"github","url":"https://github.com/factionsecurity/faction/security/advisories/GHSA-xr72-2g43-586w","maturity":"poc","reliabilityScore":0.3,"verified":false,"type":null,"platforms":[],"requiresAuth":null,"exploitdb":null,"metasploit":null}],"exploitCount":1,"weaknesses":[{"id":"CWE-287","name":"Improper Authentication","description":"When an actor claims to have a given identity, the product does not prove or insufficiently proves that the claim is correct.","type":"weakness","status":"Draft","abstraction":"Class","likelihoodOfExploit":"High","url":"https://cwe.mitre.org/data/definitions/287.html"},{"id":"CWE-829","name":"Inclusion of Functionality from Untrusted Control Sphere","description":"The product imports, requires, or includes executable functionality (such as a library) from a source that is outside of the intended control sphere.","type":"weakness","status":"Incomplete","abstraction":"Base","likelihoodOfExploit":null,"url":"https://cwe.mitre.org/data/definitions/829.html"},{"id":"CWE-862","name":"Missing Authorization","description":"The product does not perform an authorization check when an actor attempts to access a resource or perform an action.","type":"weakness","status":"Incomplete","abstraction":"Class","likelihoodOfExploit":"High","url":"https://cwe.mitre.org/data/definitions/862.html"}],"affected":[{"vendor":"factionsecurity","product":"faction","name":"faction","label":"faction","ecosystem":null,"cpePart":"a","purl":null,"purlType":null,"versions":[{"text":"< 1.7.1","noFixRecorded":false,"fixedIn":null}],"versionsText":"< 1.7.1","eol":null,"hubHref":"/vendor/factionsecurity/faction"},{"vendor":"owasp","product":"faction","name":"faction","label":"faction","ecosystem":null,"cpePart":"a","purl":null,"purlType":null,"versions":[{"text":"< 1.7.1","noFixRecorded":false,"fixedIn":null}],"versionsText":"< 1.7.1","eol":null,"hubHref":"/vendor/owasp/faction"}],"affectedCount":2,"eol":{"hasEol":false,"count":0},"references":[{"url":"https://github.com/factionsecurity/faction/security/advisories/GHSA-xr72-2g43-586w","label":"github.com/factionsecurity/faction/security/advisories/GHSA-xr72-2g43-586w","hostname":"github.com","tags":["X Refsource CONFIRM","Exploit","Vendor Advisory"]},{"url":"https://github.com/factionsecurity/faction/commit/c6389f1c76175b7c1c68d1a87b389311b16c62c3","label":"github.com/factionsecurity/faction/commit/c6389f1c76175b7c1c68d1a87b389311b16c62c3","hostname":"github.com","tags":["X Refsource MISC","Patch"]}],"lineage":{"upstream":[],"downstream":[],"duplicates":[],"related":[]},"timeline":[{"kind":"published","date":"2025-11-26T02:08:14.805Z","label":"Published","detail":"Vulnerability first disclosed.","source":null},{"kind":"modified","date":"2025-11-26T15:13:42.175Z","label":"Last modified","detail":"Vulnerability information updated.","source":null}],"risk":{"score":70,"level":"high","profile":"Default","thresholds":{"critical":75,"high":50,"medium":25,"low":10}},"meta":{"dataAsOf":"2026-10-19T06:18:57.084Z","stale":false,"partial":false}}