{"schemaVersion":3,"id":"CVE-2025-49132","aliases":[],"status":"published","duplicateOf":null,"title":"Pterodactyl Panel Allows Unauthenticated Arbitrary Remote Code Execution","description":"Pterodactyl is a free, open-source game server management panel. Prior to version 1.11.11, using the /locales/locale.json with the locale and namespace query parameters, a malicious actor is able to execute arbitrary code without being authenticated. With the ability to execute arbitrary code it could be used to gain access to the Panel's server, read credentials from the Panel's config, extract sensitive information from the database, access files of servers managed by the panel, etc. This issue has been patched in version 1.11.11. There are no software workarounds for this vulnerability, but use of an external Web Application Firewall (WAF) could help mitigate this attack.","dates":{"published":"2025-06-20T16:56:41.403Z","modified":"2025-06-20T17:34:24.439Z","reserved":null,"kevAdded":[],"kevDue":[]},"cvss":{"headline":{"score":10,"severity":"critical","version":"3.1","versionLabel":"v3.1","source":"CVE.org","vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:H","computed":false,"selection":"backend-summary"},"metrics":[{"version":"3.1","versionLabel":"v3.1","source":"CVE.org","score":10,"severity":"critical","vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:H","exploitability":null,"impact":null,"computed":false},{"version":"3.1","versionLabel":"v3.1","source":"NVD","score":10,"severity":"critical","vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:H","exploitability":null,"impact":null,"computed":false}]},"epss":{"probability":0.5446,"percentile":0.99014,"severity":"critical","asOf":"2026-10-22T00:00:00.000Z","change":{"pp":0,"baselineDate":"2026-09-22T00:00:00.000Z","baselineScore":0.5446},"history":[{"date":"2026-09-14T00:00:00.000Z","score":0.54677,"percentile":null},{"date":"2026-09-15T00:00:00.000Z","score":0.54677,"percentile":null},{"date":"2026-09-16T00:00:00.000Z","score":0.54677,"percentile":null},{"date":"2026-09-17T00:00:00.000Z","score":0.54677,"percentile":null},{"date":"2026-09-18T00:00:00.000Z","score":0.54677,"percentile":null},{"date":"2026-09-19T00:00:00.000Z","score":0.54677,"percentile":null},{"date":"2026-09-20T00:00:00.000Z","score":0.54677,"percentile":null},{"date":"2026-09-21T00:00:00.000Z","score":0.5446,"percentile":null},{"date":"2026-09-22T00:00:00.000Z","score":0.5446,"percentile":null},{"date":"2026-09-23T00:00:00.000Z","score":0.5446,"percentile":null},{"date":"2026-09-24T00:00:00.000Z","score":0.5446,"percentile":null},{"date":"2026-09-25T00:00:00.000Z","score":0.5446,"percentile":null},{"date":"2026-09-26T00:00:00.000Z","score":0.5446,"percentile":null},{"date":"2026-09-27T00:00:00.000Z","score":0.5446,"percentile":null},{"date":"2026-09-28T00:00:00.000Z","score":0.5446,"percentile":null},{"date":"2026-09-29T00:00:00.000Z","score":0.5446,"percentile":null},{"date":"2026-09-30T00:00:00.000Z","score":0.5446,"percentile":null},{"date":"2026-10-01T00:00:00.000Z","score":0.5446,"percentile":null},{"date":"2026-10-02T00:00:00.000Z","score":0.5446,"percentile":null},{"date":"2026-10-03T00:00:00.000Z","score":0.5446,"percentile":null},{"date":"2026-10-04T00:00:00.000Z","score":0.5446,"percentile":null},{"date":"2026-10-05T00:00:00.000Z","score":0.5446,"percentile":null},{"date":"2026-10-06T00:00:00.000Z","score":0.5446,"percentile":null},{"date":"2026-10-07T00:00:00.000Z","score":0.5446,"percentile":null},{"date":"2026-10-08T00:00:00.000Z","score":0.5446,"percentile":null},{"date":"2026-10-09T00:00:00.000Z","score":0.5446,"percentile":null},{"date":"2026-10-10T00:00:00.000Z","score":0.5446,"percentile":null},{"date":"2026-10-11T00:00:00.000Z","score":0.5446,"percentile":null},{"date":"2026-10-12T00:00:00.000Z","score":0.5446,"percentile":null},{"date":"2026-10-13T00:00:00.000Z","score":0.5446,"percentile":null},{"date":"2026-10-14T00:00:00.000Z","score":0.5446,"percentile":null},{"date":"2026-10-15T00:00:00.000Z","score":0.5446,"percentile":null},{"date":"2026-10-16T00:00:00.000Z","score":0.5446,"percentile":null},{"date":"2026-10-17T00:00:00.000Z","score":0.5446,"percentile":null},{"date":"2026-10-18T00:00:00.000Z","score":0.5446,"percentile":null},{"date":"2026-10-19T00:00:00.000Z","score":0.5446,"percentile":null},{"date":"2026-10-20T00:00:00.000Z","score":0.5446,"percentile":null},{"date":"2026-10-21T00:00:00.000Z","score":0.5446,"percentile":null},{"date":"2026-10-22T00:00:00.000Z","score":0.5446,"percentile":0.99014}],"last30":[{"date":"2026-09-22T00:00:00.000Z","score":0.5446,"percentile":null},{"date":"2026-09-23T00:00:00.000Z","score":0.5446,"percentile":null},{"date":"2026-09-24T00:00:00.000Z","score":0.5446,"percentile":null},{"date":"2026-09-25T00:00:00.000Z","score":0.5446,"percentile":null},{"date":"2026-09-26T00:00:00.000Z","score":0.5446,"percentile":null},{"date":"2026-09-27T00:00:00.000Z","score":0.5446,"percentile":null},{"date":"2026-09-28T00:00:00.000Z","score":0.5446,"percentile":null},{"date":"2026-09-29T00:00:00.000Z","score":0.5446,"percentile":null},{"date":"2026-09-30T00:00:00.000Z","score":0.5446,"percentile":null},{"date":"2026-10-01T00:00:00.000Z","score":0.5446,"percentile":null},{"date":"2026-10-02T00:00:00.000Z","score":0.5446,"percentile":null},{"date":"2026-10-03T00:00:00.000Z","score":0.5446,"percentile":null},{"date":"2026-10-04T00:00:00.000Z","score":0.5446,"percentile":null},{"date":"2026-10-05T00:00:00.000Z","score":0.5446,"percentile":null},{"date":"2026-10-06T00:00:00.000Z","score":0.5446,"percentile":null},{"date":"2026-10-07T00:00:00.000Z","score":0.5446,"percentile":null},{"date":"2026-10-08T00:00:00.000Z","score":0.5446,"percentile":null},{"date":"2026-10-09T00:00:00.000Z","score":0.5446,"percentile":null},{"date":"2026-10-10T00:00:00.000Z","score":0.5446,"percentile":null},{"date":"2026-10-11T00:00:00.000Z","score":0.5446,"percentile":null},{"date":"2026-10-12T00:00:00.000Z","score":0.5446,"percentile":null},{"date":"2026-10-13T00:00:00.000Z","score":0.5446,"percentile":null},{"date":"2026-10-14T00:00:00.000Z","score":0.5446,"percentile":null},{"date":"2026-10-15T00:00:00.000Z","score":0.5446,"percentile":null},{"date":"2026-10-16T00:00:00.000Z","score":0.5446,"percentile":null},{"date":"2026-10-17T00:00:00.000Z","score":0.5446,"percentile":null},{"date":"2026-10-18T00:00:00.000Z","score":0.5446,"percentile":null},{"date":"2026-10-19T00:00:00.000Z","score":0.5446,"percentile":null},{"date":"2026-10-20T00:00:00.000Z","score":0.5446,"percentile":null},{"date":"2026-10-21T00:00:00.000Z","score":0.5446,"percentile":null},{"date":"2026-10-22T00:00:00.000Z","score":0.5446,"percentile":0.99014}]},"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":"MSF_EXPLOIT_LINUX_HTTP_PTERODACTYL_LOCALES_LOCALE_JSON","name":"Pterodactyl Panel CVE-2025-49132 Remote Code Execution","source":"metasploit","url":"https://github.com/rapid7/metasploit-framework/blob/master/modules/exploit/linux/http/pterodactyl_locales_locale_json.rb","maturity":"weaponized","reliabilityScore":1,"verified":true,"type":"remote","platforms":[],"requiresAuth":false,"exploitdb":null,"metasploit":{"fullname":"exploit/linux/http/pterodactyl_locales_locale_json","rank":"600","rankName":"excellent","postAuth":false,"check":true,"stability":["crash-safe"],"sideEffects":["ioc-in-logs"],"reliability":[]}},{"id":"52341","name":"Pterodactyl Panel 1.11.11 - Remote Code Execution (RCE)","source":"exploit-database","url":"https://www.exploit-db.com/exploits/52341","maturity":"poc","reliabilityScore":0.5,"verified":false,"type":null,"platforms":["multiple"],"requiresAuth":null,"exploitdb":{"verified":false,"type":"webapps","platform":"multiple","file":"exploits/multiple/webapps/52341.py","codes":["CVE-2025-49132"]},"metasploit":null}],"exploitCount":2,"weaknesses":[{"id":"CWE-94","name":"Improper Control of Generation of Code ('Code Injection')","description":"The product constructs all or part of a code segment using externally-influenced input from an upstream component, but it does not neutralize or incorrectly neutralizes special elements that could modify the syntax or behavior of the intended code segment.","type":"weakness","status":"Draft","abstraction":"Base","likelihoodOfExploit":"Medium","url":"https://cwe.mitre.org/data/definitions/94.html"}],"affected":[{"vendor":"pterodactyl","product":"panel","name":"panel","label":"panel","ecosystem":null,"cpePart":"a","purl":null,"purlType":null,"versions":[{"text":"< 1.11.11","noFixRecorded":false,"fixedIn":null}],"versionsText":"< 1.11.11","eol":null,"hubHref":"/vendor/pterodactyl/panel"}],"affectedCount":1,"eol":{"hasEol":false,"count":0},"references":[{"url":"https://github.com/pterodactyl/panel/security/advisories/GHSA-24wv-6c99-f843","label":"github.com/pterodactyl/panel/security/advisories/GHSA-24wv-6c99-f843","hostname":"github.com","tags":["X Refsource CONFIRM"]},{"url":"https://github.com/pterodactyl/panel/commit/24c82b0e335fb5d7a844226b08abf9f176e592f0","label":"github.com/pterodactyl/panel/commit/24c82b0e335fb5d7a844226b08abf9f176e592f0","hostname":"github.com","tags":["X Refsource MISC"]},{"url":"https://github.com/pterodactyl/panel/releases/tag/v1.11.11","label":"github.com/pterodactyl/panel/releases/tag/v1.11.11","hostname":"github.com","tags":["X Refsource MISC"]}],"lineage":{"upstream":[],"downstream":[],"duplicates":[],"related":[]},"timeline":[{"kind":"published","date":"2025-06-20T16:56:41.403Z","label":"Published","detail":"Vulnerability first disclosed.","source":null},{"kind":"modified","date":"2025-06-20T17:34:24.439Z","label":"Last modified","detail":"Vulnerability information updated.","source":null}],"risk":{"score":90,"level":"critical","profile":"Default","thresholds":{"critical":75,"high":50,"medium":25,"low":10}},"meta":{"dataAsOf":"2026-10-22T19:45:56.846Z","stale":false,"partial":false}}