XWiki Platform is a generic wiki platform. Starting in version 3.1 and prior to versions 4.10.19, 15.5.4, and 15.10-rc-1, by creating a document with a special crafted documented reference and an XWiki.SchedulerJobClass XObject, it is possible to execute arbitrary code on the server whenever an admin visits the scheduler page or the scheduler page is referenced, e.g., via an image in a comment on a page in the wiki. The vulnerability has been fixed in XWiki 14.10.19, 15.5.5, and 15.9. As a workaround, apply the patch manually by modifying the Scheduler.WebHome page.
{
"cwe_ids": [
"CWE-352",
"CWE-95"
],
"osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2024/31xxx/CVE-2024-31986.json",
"unresolved_ranges": [
{
"extracted_events": [
{
"introduced": "3.1"
},
{
"fixed": "14.10.19"
},
{
"introduced": "15.0-rc-1"
},
{
"fixed": "15.5.4"
},
{
"introduced": "15.6-rc-1"
},
{
"fixed": "15.9"
}
],
"source": "AFFECTED_FIELD"
}
],
"cna_assigner": "GitHub_M"
}{
"versions": [
{
"introduced": "3.1.1"
},
{
"fixed": "14.10.19"
},
{
"introduced": "15.0"
},
{
"fixed": "15.5.4"
},
{
"introduced": "15.6"
},
{
"fixed": "15.9"
}
]
}[
{
"target": {
"file": "xwiki-platform-core/xwiki-platform-scheduler/xwiki-platform-scheduler-test/xwiki-platform-scheduler-test-docker/src/test/it/org/xwiki/scheduler/test/ui/SchedulerIT.java"
},
"source": "https://github.com/xwiki/xwiki-platform/commit/f30d9c641750a3f034b5910c6a3a7724ae8f2269",
"deprecated": false,
"digest": {
"threshold": 0.9,
"line_hashes": [
"121378514480918854916168266058246033566",
"200525902641438542534972148193428897770",
"185478702196393369682215718148634048340",
"33822468072397001711675659228385163512",
"165914234478105040263359577784519239113",
"160493883172480499829469175096185246806",
"257095334189023559688806329180752486328",
"323790012675282877244684223203130316944",
"210077849249706137297839360767059304759",
"66062187643554447548786855383546340143"
]
},
"signature_type": "Line",
"signature_version": "v1",
"id": "CVE-2024-31986-1d303275"
},
{
"target": {
"file": "xwiki-platform-core/xwiki-platform-scheduler/xwiki-platform-scheduler-test/xwiki-platform-scheduler-test-docker/src/test/it/org/xwiki/scheduler/test/ui/SchedulerIT.java"
},
"source": "https://github.com/xwiki/xwiki-platform/commit/8a92cb4bef7e5f244ae81eed3e64fe9be95827cf",
"deprecated": false,
"digest": {
"threshold": 0.9,
"line_hashes": [
"121378514480918854916168266058246033566",
"200525902641438542534972148193428897770",
"185478702196393369682215718148634048340",
"33822468072397001711675659228385163512",
"165914234478105040263359577784519239113",
"160493883172480499829469175096185246806",
"257095334189023559688806329180752486328",
"323790012675282877244684223203130316944",
"210077849249706137297839360767059304759",
"66062187643554447548786855383546340143"
]
},
"signature_type": "Line",
"signature_version": "v1",
"id": "CVE-2024-31986-38a0fb89"
},
{
"target": {
"function": "verifyScheduler",
"file": "xwiki-platform-core/xwiki-platform-scheduler/xwiki-platform-scheduler-test/xwiki-platform-scheduler-test-docker/src/test/it/org/xwiki/scheduler/test/ui/SchedulerIT.java"
},
"source": "https://github.com/xwiki/xwiki-platform/commit/efd3570f3e5e944ec0ad0899bf799bf9563aef87",
"deprecated": false,
"digest": {
"length": 1712.0,
"function_hash": "239516309326033634555325291864226371297"
},
"signature_type": "Function",
"signature_version": "v1",
"id": "CVE-2024-31986-89e5dae0"
},
{
"target": {
"file": "xwiki-platform-core/xwiki-platform-scheduler/xwiki-platform-scheduler-test/xwiki-platform-scheduler-test-docker/src/test/it/org/xwiki/scheduler/test/ui/SchedulerIT.java"
},
"source": "https://github.com/xwiki/xwiki-platform/commit/efd3570f3e5e944ec0ad0899bf799bf9563aef87",
"deprecated": false,
"digest": {
"threshold": 0.9,
"line_hashes": [
"121378514480918854916168266058246033566",
"200525902641438542534972148193428897770",
"185478702196393369682215718148634048340",
"33822468072397001711675659228385163512",
"165914234478105040263359577784519239113",
"160493883172480499829469175096185246806",
"257095334189023559688806329180752486328",
"323790012675282877244684223203130316944",
"210077849249706137297839360767059304759",
"66062187643554447548786855383546340143"
]
},
"signature_type": "Line",
"signature_version": "v1",
"id": "CVE-2024-31986-bd9765e2"
},
{
"target": {
"function": "verifyScheduler",
"file": "xwiki-platform-core/xwiki-platform-scheduler/xwiki-platform-scheduler-test/xwiki-platform-scheduler-test-docker/src/test/it/org/xwiki/scheduler/test/ui/SchedulerIT.java"
},
"source": "https://github.com/xwiki/xwiki-platform/commit/f30d9c641750a3f034b5910c6a3a7724ae8f2269",
"deprecated": false,
"digest": {
"length": 1712.0,
"function_hash": "239516309326033634555325291864226371297"
},
"signature_type": "Function",
"signature_version": "v1",
"id": "CVE-2024-31986-e0f63b75"
},
{
"target": {
"function": "verifyScheduler",
"file": "xwiki-platform-core/xwiki-platform-scheduler/xwiki-platform-scheduler-test/xwiki-platform-scheduler-test-docker/src/test/it/org/xwiki/scheduler/test/ui/SchedulerIT.java"
},
"source": "https://github.com/xwiki/xwiki-platform/commit/8a92cb4bef7e5f244ae81eed3e64fe9be95827cf",
"deprecated": false,
"digest": {
"length": 1712.0,
"function_hash": "239516309326033634555325291864226371297"
},
"signature_type": "Function",
"signature_version": "v1",
"id": "CVE-2024-31986-e979075f"
}
]
"2026-04-15T11:19:09Z"
"https://storage.googleapis.com/osv-test-cve-osv-conversion/osv-output/CVE-2024-31986.json"