This is simple scanner for CVE-2023-22515, a critical vulnerability in Atlassian Confluence Data Center and Server that is actively being exploited in the wild by threat actors in order “to create unauthorized Confluence administrator accounts and access Confluence instances”.

The vulnerability was initially described as a “privilege escalation” issue, but Atlassian later changed the classification to “broken access control” in their security advisory.

Timeline Of CVE-2023-22515

  • 4 October 2023: Atlassian publishes a security advisory on CVE-2023-22515, which it then described as a critical “privilege escalation” vulnerability in Atlassian Confluence Data Center.
    • The advisory covers vulnerable versions, patched versions, workarounds and IOCs.
  • 5 October 2023: US CISA adds CVE-2023-22515 to their Known Exploited Vulnerabilities Catalog.
    • On the same day, Rapid7 updates their article on CVE-2023-22515, originally published on 4 October, to mention that Rapid7 security researcher Stephen Fewer has confirmed the vulnerabilty to be fully unauthenticated and trivially exploitable.
    • The update also mentioned that Rapid7 leveraged the /server-info.action endpoint to trigger the issue, which is different from the endpoints mentioned in the Atlassian advisory.
  • 6 October 2023: Atlassian edits the description of CVE-2023-22515 in their security advisory from “privilege escalation” to “broken access control”.

CVE-2023-22515-Scan Details

This is a simple scanner that will attempt to determinie the vulnerability status of Atlassian Confluence by performing up to two HTTP GET requests per host and analyzing the reponses:

  • A GET request to the provided URL (which should be the base URL for the app) to verifiy that the target is Atlassian Confluence and to obtain the product version.
  • A GET request to /server-info.action to check the response code. Patch diffing showed that the patch for CVE-2023-22515 removes the /server-info.action endpoint entirely. During testing, the following behavior was observed for this endpoint:
    • Unaffected versions (before 8.0.0), respond with a 404 status code
    • Vulnerable versions respond with a 200 status code
    • Patched versions respond with a 302 status code

Tested Versions

The scanner has been successfully tested against the following versions of Atlassian Confluence Server:

  • 7.4.10 (not affected)
  • 8.4.2 (vulnerable)
  • 8.4.3 (patched)
  • 8.5.0 (vulnerable)
  • 8.6.0 (latest docker image – patched)

Since the script has been tested against a limited number of versions of Atlassian Confluence Server, the scanner may not be fully reliable, especially for Confluence Data Center or for untested versions of Confluence Server.

Installation

  • Clone the repo
git clone https://github.com/ErikWynter/CVE-2023-22515-Scan.git
  • Enter the created directory
cd CVE-2023-22515-Scan
  • Install the dependencies with pip. Depending on your local python3 setup, the required commands will be either:
pip install -r requirements.txt

or:

pip3 install -r requirements.txt

Usage

usage: cve_2023_22515_scan.py [-h] [-f FILE] [-t TARGETS] [-o OUTPUT_DIR]

Scan Atlassian Confluence web instances for CVE-2023-22515

options:
  -h, --help     show this help message and exit
  -f FILE        File containing a list of URLs to scan
  -t TARGETS     Comma-separated list of URLs to scan
  -o OUTPUT_DIR  Output directory

eg:

python cve_2023_22515_scan.py -f urls.txt -o results
python cve_2023_22515_scan.py -t http://192.168.10.10,http://192.168.10.11 -o results`

Vulnerability Statuses

  • likely vulnerable: The target is running a vulnerable version (or the version could not be detected) and has the vulnerable /server-info.action endpoint available.
  • likely not exploitable: The target is running a vulnerable version, but the /server-info.action endpoint is not accessible, which means it is likely patched.
  • not vulnerable: The target is not running a vulnerable version, or the version could not be detected and the /server-info.action endpoint was not accessible.
  • unknown: The vulnerability status could not be determined because an error was encountered while trying to access the /server-info.action endpoint.

Output Files

  • cve_2023_22515_scan.json – JSON file with the product version, vulnerability status and other relevant information for any systems that were recognized by the script. Example contents:
[
  {
    "target_url": "http://192.168.91.202:8091",
    "product": "Atlassian Confluence",
    "version": "8.5.0",
    "vulnerability_status": "likely vulnerable"
  },
  {
    "target_url": "http://192.168.91.200:8090",
    "product": "Atlassian Confluence",
    "version": "8.4.3",
    "vulnerability_status": "not vulnerable"
  }
]
  • cve_2023_22515_scan.txt – Text file with a human-readable breakdown of the results. This is identical to the report being printed to the console (minus the ANSI colors). Example contents:
http://192.168.91.202:8091 - Product: Atlassian Confluence Version: 8.5.0 - vulnerability status: likely vulnerable
http://192.168.91.200:8090 - Product: Atlassian Confluence Version: 8.4.3 - vulnerability status: not vulnerable

LEAVE A REPLY

Please enter your comment!
Please enter your name here