Skip to main content
mySites.guru
New features added last monthRelease RadarFile ManagerImpostor FilesUpdate QueueRogue AdminsMCP & APIJoomla VELCVE Index

DPCalendar security vulnerabilities

mySites.guru tracks 7 vulnerabilities in com_dpcalendar. Every connected Joomla site is checked against them on each audit, and flagged if it runs an affected version.

What we check for

HighCVE-2026-780712026-08-28

DPCalendar (com_dpcalendar) 7.0.0 to 8.19.5 (Joomla 3) - Authenticated Stored Cross-Site Scripting

DPCalendar renders a calendar location title into a data-title HTML attribute without escaping it, giving a stored cross-site scripting flaw. A payload such as x" onmouseover="alert(1) has no HTML tags, so it passes through the filterText input filter unchanged and breaks out of the attribute on output, where it becomes a live event handler. Storing the payload requires an account with DPCalendar location create permission (CVSS 4.0 vector PR:H), but the script then runs in the browser of every visitor who views that location page, so the permission bounds who can plant it and not who it hits. This was reported in two stages. Toan Le found the original as vendor issue 12203, fixed on 2026-08-27 in 8.19.5 and 10.12.0, which escaped nine of the ten data-title sinks in the component. mySites.guru proved the same day that the tenth was still open, at components/com_dpcalendar/site/tmpl/location/default_map.php line 23, reported it to Digital Peak and the Joomla Security Strike Team, and Digital Peak confirmed it on 2026-08-28. That last sink was closed on 2026-09-10 in 8.19.6 and 10.12.1, along with seven identical sinks in the free mod_dpcalendar_upcoming module templates (blog, default, horizontal, icon, panel, simple and timeline). CVE-2026-78071 was updated on 2026-09-10 to widen its affected range to 7.0.0-8.19.5 and 9.0.0-10.12.0 and to credit both finders. On Joomla 3 the fixed version is 8.19.6, which is a security-only release containing this one change. If you have overridden the DPCalendar location templates, the unescaped output is still in your override and updating the extension will not reach it.

Affected versions: ≥ 7.0.0 and < 8.19.6

Full advisory: our disclosure post

HighCVE-2026-780712026-08-28

DPCalendar (com_dpcalendar) 9.0.0 to 10.12.0 (Joomla 4 to 6) - Authenticated Stored Cross-Site Scripting

DPCalendar renders a calendar location title into a data-title HTML attribute without escaping it, giving a stored cross-site scripting flaw. A payload such as x" onmouseover="alert(1) has no HTML tags, so it passes through the filterText input filter unchanged and breaks out of the attribute on output, where it becomes a live event handler. Storing the payload requires an account with DPCalendar location create permission (CVSS 4.0 vector PR:H), but the script then runs in the browser of every visitor who views that location page, so the permission bounds who can plant it and not who it hits. This was reported in two stages. Toan Le found the original as vendor issue 12203, fixed on 2026-08-27 in 8.19.5 and 10.12.0, which escaped nine of the ten data-title sinks in the component. mySites.guru proved the same day that the tenth was still open, at components/com_dpcalendar/site/tmpl/location/default_map.php line 23, reported it to Digital Peak and the Joomla Security Strike Team, and Digital Peak confirmed it on 2026-08-28. That last sink was closed on 2026-09-10 in 8.19.6 and 10.12.1, along with seven identical sinks in the free mod_dpcalendar_upcoming module templates (blog, default, horizontal, icon, panel, simple and timeline). CVE-2026-78071 was updated on 2026-09-10 to widen its affected range to 7.0.0-8.19.5 and 9.0.0-10.12.0 and to credit both finders. Update to 10.12.1 on Joomla 4, 5 and 6. The 9.x line has no patch of its own, so sites there need the staged upgrade across to 10.12.1 rather than a point update. If you have overridden the DPCalendar location templates, the unescaped output is still in your override and updating the extension will not reach it.

Affected versions: ≥ 9.0.0 and < 10.12.1

Full advisory: our disclosure post

HighCVE-2026-578312026-07-13

DPCalendar (com_dpcalendar) 9.0 to 10.11.1 (Joomla 4 to 6) - Unauthenticated Blind SQL Injection

DPCalendar on the Joomla 4 to 6 line (9.x and 10.x) contains an unauthenticated blind SQL injection in the front-end events model. The filter_created_by request parameter is placed into the events query without an integer cast (site EventsModel::getListQuery), so an anonymous visitor can inject boolean conditions and read arbitrary database contents including user password hashes and the Joomla secret through the public events feed at index.php?option=com_dpcalendar&view=events&format=raw. No login, token or CSRF is required. It is a read-only injection (no write or RCE). All editions (Free, Pro, Business) share the vulnerable site model. The flaw dates to 8.18.0 and affects every current-line release up to and including 10.11.0. Fixed in 10.11.2, which integer-casts the author filter. Update to 10.11.2 or later; on the 9.x line the upgrade path is 9.x to 10.0.0, then 10.6.0, then 10.11.2. Joomla 3 (8.x) sites are handled by a separate rule (fixed in 8.19.4). Temporary mitigation: block non-numeric filter_created_by at the WAF, or unpublish DPCalendar front-end menu items. Discovered and reported by mySites.guru.

Affected versions: ≥ 9.0.0 and < 10.11.2

Full advisory: our disclosure post

HighCVE-2026-578312026-07-13

DPCalendar (com_dpcalendar) 8.18.0 to 8.19.3 (Joomla 3) - Unauthenticated Blind SQL Injection

DPCalendar on the Joomla 3 (8.x) branch contains an unauthenticated blind SQL injection in the front-end events model. The filter_created_by request parameter is placed into the events query without an integer cast (site EventsModel::getListQuery), so an anonymous visitor can inject boolean conditions and read arbitrary database contents including user password hashes and the Joomla secret through the public events feed at index.php?option=com_dpcalendar&view=events&format=raw. No login, token or CSRF is required. It is a read-only injection (no write or RCE). All editions (Free, Pro, Business) share the vulnerable site model. The flaw was introduced in 8.18.0 and affects every 8.x release from 8.18.0 up to 8.19.3. Fixed in 8.19.4, which integer-casts the author filter. Update to 8.19.4 or later, or migrate to Joomla 4 to 6 and DPCalendar 10.11.2. Joomla 4 to 6 (9.x and 10.x) sites are handled by a separate rule (fixed in 10.11.2). Temporary mitigation: block non-numeric filter_created_by at the WAF, or unpublish DPCalendar front-end menu items. Discovered and reported by mySites.guru.

Affected versions: ≥ 8.18.0 and < 8.19.4

Full advisory: our disclosure post

MediumCVE-2026-780702026-08-28

DPCalendar (com_dpcalendar) 5.5.0 to 8.19.4 (Joomla 3) - Authenticated Blind SQL Injection

DPCalendar contains a blind SQL injection reachable by saving a Joomla article. The DPCalendar content plugin passes the order and orderdir parameters of a {dpcalendar} tag into the events query ORDER BY clause without validating them against the model filter_fields allow-list. The sink used the database escape() helper, which secures string literals but not SQL identifiers, so the sort column is injectable. Exploitation requires an account holding permission to create or update articles, so this is authenticated and privileged (CVSS 4.0 vector PR:H), not anonymous. Reported by Toan Le as vendor issue 12206. Fixed in 10.12.0 on the Joomla 4 to 6 branch and backported to 8.19.5 on the Joomla 3 branch. Temporary mitigation: disable the "Content - DPCalendar" plugin, which is the only route in.

Affected versions: ≥ 5.5.0 and < 8.19.5

Full advisory: joomla.digital-peak.com

MediumCVE-2026-780702026-08-28

DPCalendar (com_dpcalendar) 9.0.0 to 10.11.2 (Joomla 4 to 6) - Authenticated Blind SQL Injection

DPCalendar contains a blind SQL injection reachable by saving a Joomla article. The DPCalendar content plugin passes the order and orderdir parameters of a {dpcalendar} tag into the events query ORDER BY clause without validating them against the model filter_fields allow-list. The sink used the database escape() helper, which secures string literals but not SQL identifiers, so the sort column is injectable. Exploitation requires an account holding permission to create or update articles, so this is authenticated and privileged (CVSS 4.0 vector PR:H), not anonymous. Reported by Toan Le as vendor issue 12206. Fixed in 10.12.0 on the Joomla 4 to 6 branch and backported to 8.19.5 on the Joomla 3 branch. Temporary mitigation: disable the "Content - DPCalendar" plugin, which is the only route in.

Affected versions: ≥ 9.0.0 and ≤ 10.11.2

Full advisory: joomla.digital-peak.com

MediumCVE-2024-217272024-02-15

DPCalendar (com_dpcalendar) 8.0.0 to 8.14.0 - Cross-Site Scripting

DP Calendar by Digital Peak, versions 8.0.0 through 8.14.0, is affected by a cross-site scripting vulnerability. Update to 8.14.1 or later; the current Joomla 4/5/6 branch is 10.11.2. Sites on the 8.x branch should also check the separate unauthenticated SQL injection rules for DPCalendar.

Affected versions: ≥ 8.0.0 and ≤ 8.14.0

Full advisory: extensions.joomla.org

What we have written about DPCalendar

Running DPCalendar on a site you manage?

A free audit tells you which of your Joomla and WordPress sites run an affected version, which are out of date, and which have not been backed up. No card required. If a site is already compromised, fix.mysites.guru is a single fixed fee per incident, usually resolved the same day.

CVE identifiers: CVE-2026-78071, CVE-2026-57831, CVE-2026-78070, CVE-2024-21727. Rules current as of 13 September 2026.