{"url":"http://public2.vulnerablecode.io/api/vulnerabilities/12562?format=json","vulnerability_id":"VCID-gtbq-9wht-6qg2","summary":"XWiki Platform remote code execution from account via custom skins support\n### Impact\nAny user who can edit any page like their profile can create a custom skin with a template override that is executed with programming right, thus allowing remote code execution. \n\nTo reproduce, as a user without edit, script or admin right, add an object of class `XWiki.XWikiSkins` to your profile. Name it whatever you want and set the Base Skin to `flamingo`.\nAdd an object of class `XWikiSkinFileOverrideClass` and set the path to `macros.vm` and the content to:\n```\n#macro(mediumUserAvatar $username)\n  #resizedUserAvatar($username 50)\n  $services.logging.getLogger('Skin').error(\"I got programming: $services.security.authorization.hasAccess('programming')\")\n#end\n```\nBack to your profile, click `Test this skin`. Force a refresh, just in case.\nIf the error \"Skin - I got programming: true\" gets logged, the installation is vulnerable.\n\n### Patches\nThis has been patched in XWiki 14.10.19, 15.5.4 and 15.10RC1.\n\n### Workarounds\nWe're not aware of any workaround except upgrading.\n\n### References\n* https://jira.xwiki.org/browse/XWIKI-21478\n* https://github.com/xwiki/xwiki-platform/commit/3d4dbb41f52d1a6e39835cfb1695ca6668605a39 (>= 15.8 RC1)\n* https://github.com/xwiki/xwiki-platform/commit/da177c3c972e797d92c1a31e278f946012c41b56 (< 15.8 RC1)","aliases":[{"alias":"CVE-2024-31987"},{"alias":"GHSA-cv55-v6rw-7r5v"}],"fixed_packages":[{"url":"http://public2.vulnerablecode.io/api/packages/45074?format=json","purl":"pkg:maven/org.xwiki.platform/xwiki-platform-oldcore@14.10.19","is_vulnerable":false,"affected_by_vulnerabilities":[],"resource_url":"http://public2.vulnerablecode.io/packages/pkg:maven/org.xwiki.platform/xwiki-platform-oldcore@14.10.19"},{"url":"http://public2.vulnerablecode.io/api/packages/45083?format=json","purl":"pkg:maven/org.xwiki.platform/xwiki-platform-oldcore@15.5.4","is_vulnerable":false,"affected_by_vulnerabilities":[],"resource_url":"http://public2.vulnerablecode.io/packages/pkg:maven/org.xwiki.platform/xwiki-platform-oldcore@15.5.4"},{"url":"http://public2.vulnerablecode.io/api/packages/45095?format=json","purl":"pkg:maven/org.xwiki.platform/xwiki-platform-oldcore@15.10-rc-1","is_vulnerable":false,"affected_by_vulnerabilities":[],"resource_url":"http://public2.vulnerablecode.io/packages/pkg:maven/org.xwiki.platform/xwiki-platform-oldcore@15.10-rc-1"}],"affected_packages":[{"url":"http://public2.vulnerablecode.io/api/packages/63047?format=json","purl":"pkg:maven/org.xwiki.platform/xwiki-platform-oldcore@6.4-milestone-1","is_vulnerable":true,"affected_by_vulnerabilities":[{"vulnerability":"VCID-gtbq-9wht-6qg2"}],"resource_url":"http://public2.vulnerablecode.io/packages/pkg:maven/org.xwiki.platform/xwiki-platform-oldcore@6.4-milestone-1"},{"url":"http://public2.vulnerablecode.io/api/packages/58495?format=json","purl":"pkg:maven/org.xwiki.platform/xwiki-platform-oldcore@15.0-rc-1","is_vulnerable":true,"affected_by_vulnerabilities":[{"vulnerability":"VCID-3ksc-nvrc-6ub3"},{"vulnerability":"VCID-64wz-61e9-97h4"},{"vulnerability":"VCID-6keh-puhm-6kc7"},{"vulnerability":"VCID-gtbq-9wht-6qg2"},{"vulnerability":"VCID-jwfk-c9aq-5qbz"},{"vulnerability":"VCID-q2b9-583a-9yd9"},{"vulnerability":"VCID-sr4u-a9ek-u3g9"},{"vulnerability":"VCID-tue2-pwje-qqfz"},{"vulnerability":"VCID-zv2f-hpz1-ruba"}],"resource_url":"http://public2.vulnerablecode.io/packages/pkg:maven/org.xwiki.platform/xwiki-platform-oldcore@15.0-rc-1"},{"url":"http://public2.vulnerablecode.io/api/packages/63032?format=json","purl":"pkg:maven/org.xwiki.platform/xwiki-platform-oldcore@15.6-rc-1","is_vulnerable":true,"affected_by_vulnerabilities":[{"vulnerability":"VCID-4mj5-repk-zyg2"},{"vulnerability":"VCID-gtbq-9wht-6qg2"},{"vulnerability":"VCID-jwfk-c9aq-5qbz"},{"vulnerability":"VCID-q2b9-583a-9yd9"},{"vulnerability":"VCID-sr4u-a9ek-u3g9"},{"vulnerability":"VCID-zv2f-hpz1-ruba"}],"resource_url":"http://public2.vulnerablecode.io/packages/pkg:maven/org.xwiki.platform/xwiki-platform-oldcore@15.6-rc-1"}],"references":[{"reference_url":"https://api.first.org/data/v1/epss?cve=CVE-2024-31987","reference_id":"","reference_type":"","scores":[{"value":"0.24138","scoring_system":"epss","scoring_elements":"0.96044","published_at":"2026-04-02T12:55:00Z"},{"value":"0.24138","scoring_system":"epss","scoring_elements":"0.96132","published_at":"2026-05-14T12:55:00Z"},{"value":"0.24138","scoring_system":"epss","scoring_elements":"0.9612","published_at":"2026-05-12T12:55:00Z"},{"value":"0.24138","scoring_system":"epss","scoring_elements":"0.96114","published_at":"2026-05-11T12:55:00Z"},{"value":"0.24138","scoring_system":"epss","scoring_elements":"0.9607","published_at":"2026-04-12T12:55:00Z"},{"value":"0.24138","scoring_system":"epss","scoring_elements":"0.96067","published_at":"2026-04-09T12:55:00Z"},{"value":"0.24138","scoring_system":"epss","scoring_elements":"0.96065","published_at":"2026-04-08T12:55:00Z"},{"value":"0.24138","scoring_system":"epss","scoring_elements":"0.96055","published_at":"2026-04-07T12:55:00Z"},{"value":"0.24138","scoring_system":"epss","scoring_elements":"0.9605","published_at":"2026-04-04T12:55:00Z"},{"value":"0.24138","scoring_system":"epss","scoring_elements":"0.96111","published_at":"2026-05-09T12:55:00Z"},{"value":"0.24138","scoring_system":"epss","scoring_elements":"0.96108","published_at":"2026-05-07T12:55:00Z"},{"value":"0.24138","scoring_system":"epss","scoring_elements":"0.96102","published_at":"2026-05-05T12:55:00Z"},{"value":"0.24138","scoring_system":"epss","scoring_elements":"0.9609","published_at":"2026-04-29T12:55:00Z"},{"value":"0.24138","scoring_system":"epss","scoring_elements":"0.96089","published_at":"2026-04-21T12:55:00Z"},{"value":"0.24138","scoring_system":"epss","scoring_elements":"0.96088","published_at":"2026-04-18T12:55:00Z"},{"value":"0.24138","scoring_system":"epss","scoring_elements":"0.96082","published_at":"2026-04-16T12:55:00Z"},{"value":"0.24138","scoring_system":"epss","scoring_elements":"0.96072","published_at":"2026-04-13T12:55:00Z"}],"url":"https://api.first.org/data/v1/epss?cve=CVE-2024-31987"},{"reference_url":"https://github.com/xwiki/xwiki-platform","reference_id":"","reference_type":"","scores":[{"value":"9.9","scoring_system":"cvssv3.1","scoring_elements":"CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:H"},{"value":"CRITICAL","scoring_system":"generic_textual","scoring_elements":""}],"url":"https://github.com/xwiki/xwiki-platform"},{"reference_url":"https://github.com/xwiki/xwiki-platform/commit/3d4dbb41f52d1a6e39835cfb1695ca6668605a39","reference_id":"","reference_type":"","scores":[{"value":"10","scoring_system":"cvssv3.1","scoring_elements":"CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:H"},{"value":"9.9","scoring_system":"cvssv3.1","scoring_elements":"CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:H"},{"value":"CRITICAL","scoring_system":"generic_textual","scoring_elements":""},{"value":"Track*","scoring_system":"ssvc","scoring_elements":"SSVCv2/E:P/A:N/T:T/P:M/B:A/M:M/D:R/2024-08-20T17:31:03Z/"}],"url":"https://github.com/xwiki/xwiki-platform/commit/3d4dbb41f52d1a6e39835cfb1695ca6668605a39"},{"reference_url":"https://github.com/xwiki/xwiki-platform/commit/626d2a5dbf95b4e719ae13bf1a0a9c76e4edd5a2","reference_id":"","reference_type":"","scores":[{"value":"10","scoring_system":"cvssv3.1","scoring_elements":"CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:H"},{"value":"9.9","scoring_system":"cvssv3.1","scoring_elements":"CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:H"},{"value":"CRITICAL","scoring_system":"generic_textual","scoring_elements":""},{"value":"Track*","scoring_system":"ssvc","scoring_elements":"SSVCv2/E:P/A:N/T:T/P:M/B:A/M:M/D:R/2024-08-20T17:31:03Z/"}],"url":"https://github.com/xwiki/xwiki-platform/commit/626d2a5dbf95b4e719ae13bf1a0a9c76e4edd5a2"},{"reference_url":"https://github.com/xwiki/xwiki-platform/commit/da177c3c972e797d92c1a31e278f946012c41b56","reference_id":"","reference_type":"","scores":[{"value":"10","scoring_system":"cvssv3.1","scoring_elements":"CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:H"},{"value":"9.9","scoring_system":"cvssv3.1","scoring_elements":"CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:H"},{"value":"CRITICAL","scoring_system":"generic_textual","scoring_elements":""},{"value":"Track*","scoring_system":"ssvc","scoring_elements":"SSVCv2/E:P/A:N/T:T/P:M/B:A/M:M/D:R/2024-08-20T17:31:03Z/"}],"url":"https://github.com/xwiki/xwiki-platform/commit/da177c3c972e797d92c1a31e278f946012c41b56"},{"reference_url":"https://github.com/xwiki/xwiki-platform/security/advisories/GHSA-cv55-v6rw-7r5v","reference_id":"","reference_type":"","scores":[{"value":"10","scoring_system":"cvssv3.1","scoring_elements":"CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:H"},{"value":"9.9","scoring_system":"cvssv3.1","scoring_elements":"CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:H"},{"value":"CRITICAL","scoring_system":"cvssv3.1_qr","scoring_elements":""},{"value":"CRITICAL","scoring_system":"generic_textual","scoring_elements":""},{"value":"Track*","scoring_system":"ssvc","scoring_elements":"SSVCv2/E:P/A:N/T:T/P:M/B:A/M:M/D:R/2024-08-20T17:31:03Z/"}],"url":"https://github.com/xwiki/xwiki-platform/security/advisories/GHSA-cv55-v6rw-7r5v"},{"reference_url":"https://jira.xwiki.org/browse/XWIKI-21478","reference_id":"","reference_type":"","scores":[{"value":"10","scoring_system":"cvssv3.1","scoring_elements":"CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:H"},{"value":"9.9","scoring_system":"cvssv3.1","scoring_elements":"CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:H"},{"value":"CRITICAL","scoring_system":"generic_textual","scoring_elements":""},{"value":"Track*","scoring_system":"ssvc","scoring_elements":"SSVCv2/E:P/A:N/T:T/P:M/B:A/M:M/D:R/2024-08-20T17:31:03Z/"}],"url":"https://jira.xwiki.org/browse/XWIKI-21478"},{"reference_url":"https://nvd.nist.gov/vuln/detail/CVE-2024-31987","reference_id":"","reference_type":"","scores":[{"value":"9.9","scoring_system":"cvssv3.1","scoring_elements":"CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:H"},{"value":"CRITICAL","scoring_system":"generic_textual","scoring_elements":""}],"url":"https://nvd.nist.gov/vuln/detail/CVE-2024-31987"},{"reference_url":"https://github.com/advisories/GHSA-cv55-v6rw-7r5v","reference_id":"GHSA-cv55-v6rw-7r5v","reference_type":"","scores":[{"value":"CRITICAL","scoring_system":"cvssv3.1_qr","scoring_elements":""}],"url":"https://github.com/advisories/GHSA-cv55-v6rw-7r5v"}],"weaknesses":[{"cwe_id":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."},{"cwe_id":937,"name":"OWASP Top Ten 2013 Category A9 - Using Components with Known Vulnerabilities","description":"Weaknesses in this category are related to the A9 category in the OWASP Top Ten 2013."},{"cwe_id":1035,"name":"OWASP Top Ten 2017 Category A9 - Using Components with Known Vulnerabilities","description":"Weaknesses in this category are related to the A9 category in the OWASP Top Ten 2017."}],"exploits":[],"severity_range_score":"9.0 - 10.0","exploitability":"0.5","weighted_severity":"9.0","risk_score":4.5,"resource_url":"http://public2.vulnerablecode.io/vulnerabilities/VCID-gtbq-9wht-6qg2"}