HexBrain

Browse / CVEs / CVE-2024-32651

CVE-2024-32651· CWE-1336

Change Detection - Server Side Template Injection

criticalseverity
10CVSS score
85.3%likelihood of exploitation, next 30 days
100%of all CVEs are less likely
Readycheck to confirm it

A Server Side Template Injection in changedetection.io caused by usage of unsafe functions of Jinja2 allows Remote Command Execution on the server host.

Impact

Unauthenticated attackers can execute arbitrary code on the server through Server Side Template Injection.

Fix

Update changedetection.io to version 0.45.21 or later.

How to confirm it

Send: GET {{RootURL}}/
Positive when: status 200 AND contains "Change Detection" AND compare_versions(version, '<= 0.45.20')

Run it with nuclei: nuclei -id CVE-2024-32651 -u <target>

The full check
id: CVE-2024-32651

info:
  name: Change Detection - Server Side Template Injection
  author: edoardottt
  severity: critical
  description: |
    A Server Side Template Injection in changedetection.io caused by usage of unsafe functions of Jinja2 allows Remote Command Execution on the server host.
  impact: |
    Unauthenticated attackers can execute arbitrary code on the server through Server Side Template Injection.
  remediation: |
    Update changedetection.io to version 0.45.21 or later.
  reference:
    - https://nvd.nist.gov/vuln/detail/CVE-2024-32651
    - https://github.com/dgtlmoon/changedetection.io/security/advisories/GHSA-4r7v-whpg-8rx3
    - https://github.com/dgtlmoon/changedetection.io/releases/tag/0.45.21
    - https://www.onsecurity.io/blog/server-side-template-injection-with-jinja2
  classification:
    cvss-metrics: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:H
    cvss-score: 10
    cve-id: CVE-2024-32651
    cwe-id: CWE-1336
    epss-score: 0.85256
    epss-percentile: 0.99719
  metadata:
    verified: true
    max-request: 1
    shodan-query: html:"Change Detection"
  tags: cve,cve2024,changedetection,ssti,rce,passive,vuln

http:
  - method: GET
    path:
      - "{{RootURL}}/"

    redirects: true
    max-redirects: 2

    extractors:
      - type: xpath
        name: version
        internal: true
        xpath:
          - "//*[@id=\"right-sticky\"]"

    matchers-condition: and
    matchers:
      - type: status
        status:
          - 200

      - type: word
        part: body
        words:
          - "Change Detection"
        condition: and

      - type: dsl
        dsl:
          - compare_versions(version, '<= 0.45.20')

References

Use this check only on systems you are authorised to test. Where the data comes from