Attacker Value
Low
(1 user assessed)
Exploitability
Very High
(1 user assessed)
User Interaction
None
Privileges Required
Low
Attack Vector
Network
1

CVE-2024-21683

Disclosure Date: May 21, 2024
Add MITRE ATT&CK tactics and techniques that apply to this CVE.

Description

This High severity RCE (Remote Code Execution) vulnerability was introduced in version 5.2 of Confluence Data Center and Server.

This RCE (Remote Code Execution) vulnerability, with a CVSS Score of 7.2, allows an authenticated attacker to execute arbitrary code which has high impact to confidentiality, high impact to integrity, high impact to availability, and requires no user interaction. 

Atlassian recommends that Confluence Data Center and Server customers upgrade to latest version. If you are unable to do so, upgrade your instance to one of the specified supported fixed versions. See the release notes https://confluence.atlassian.com/doc/confluence-release-notes-327.html

You can download the latest version of Confluence Data Center and Server from the download center https://www.atlassian.com/software/confluence/download-archives.

This vulnerability was found internally.

Add Assessment

4
Ratings
Technical Analysis

This vulnerability can be leveraged by an authenticated attacker to execute OS commands within the context of the Confluence application server. The authenticated user must have the “Confluence Administrator” global permission. By default, this permission is only granted to the confluence-administrators group.

To leverage this vulnerability, the user would login to Confluence, then:

  1. Navigate to General Configuration > Configure Code Macro
  2. Select “Add a new language”
  3. Provide a javascript file to execute, using java.lang.ProcessBuilder to run an arbitrary command
  4. Specify an arbitrary language name
  5. Press the “Add” button

Once the “Add” button is pressed, there will likely be an error message displayed in the UI stating that the uploaded language file is invalid. Despite this error message, the Javascript code is executed. The language fails to be added so there is no language to clean up.

exploit.js
The following exploit.js source file will echo the current user information to /tmp/output.

new java.lang.ProcessBuilder["(java.lang.String[])"](["/usr/bin/sh", "-c", "echo $(id) > /tmp/output"]).start()

Original source from: https://github.com/W01fh4cker/CVE-2024-21683-RCE/blob/main/exploit.js

CVSS V3 Severity and Metrics
Base Score:
8.8 High
Impact Score:
5.9
Exploitability Score:
2.8
Vector:
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
Attack Vector (AV):
Network
Attack Complexity (AC):
Low
Privileges Required (PR):
Low
User Interaction (UI):
None
Scope (S):
Unchanged
Confidentiality (C):
High
Integrity (I):
High
Availability (A):
High

General Information

Vendors

  • atlassian

Products

  • confluence data center,
  • confluence data center 8.7.1,
  • confluence data center 8.7.2,
  • confluence data center 8.8.0,
  • confluence data center 8.8.1,
  • confluence data center 8.9.0,
  • confluence server,
  • confluence server 8.7.1,
  • confluence server 8.7.2,
  • confluence server 8.8.0,
  • confluence server 8.8.1,
  • confluence server 8.9.0

Additional Info

Technical Analysis