PYSEC-2026-3883
Vulnerability from pysec - Published: 2026-09-10 09:44 - Updated: 2026-09-10 11:02Impact
By abusing the iCalendar import functionality, a logged-in editor could take the whole site offline, make the server reach into the internal network and read calendar files off disk (SSRF), and store XSS.
Patches
The problem has been patched in plone.app.event.
- For Plone 6.2: upgrade to
plone.app.event6.0.1 - For Plone 6.1: upgrade to
plone.app.event5.2.4 - For Plone 6.0: upgrade to
plone.app.event5.2.4
Workarounds
In the site root, go to the Security tab of the Zope Management Interface (manage_access), look for the "plone.app.event: Import Ical" permission, and grant this only to the Manager role. Then only users with the Manager role can use the ical import form.
There is no workaround for the stored XSS in the URL field of events.
The vulnerabilities were discovered by Timothy Dudley and responsibly reported to the Plone Security Team. Thank you!
| Name | purl | plone-app-event | pkg:pypi/plone-app-event |
|---|
{
"affected": [
{
"package": {
"ecosystem": "PyPI",
"name": "plone-app-event",
"purl": "pkg:pypi/plone-app-event"
},
"ranges": [
{
"events": [
{
"introduced": "0"
},
{
"fixed": "5.2.4"
},
{
"introduced": "6.0.0a1"
},
{
"fixed": "6.0.1"
}
],
"type": "ECOSYSTEM"
}
],
"versions": [
"1.0",
"1.0.1",
"1.0.2",
"1.0.3",
"1.0.4",
"1.0.5",
"1.0.6",
"1.0a1",
"1.0a2",
"1.0b1",
"1.0b2",
"1.0b3",
"1.0b4",
"1.0b5",
"1.0b6",
"1.0b7",
"1.0b8",
"1.0rc1",
"1.0rc2",
"1.0rc3",
"1.1",
"1.1.1",
"1.1.10",
"1.1.11",
"1.1.12",
"1.1.13",
"1.1.2",
"1.1.3",
"1.1.4",
"1.1.5",
"1.1.6",
"1.1.7",
"1.1.8",
"1.1.a1",
"1.1b1",
"1.2",
"1.2.1",
"1.2.2",
"1.2.3",
"1.2.4",
"1.2.5",
"1.2.6",
"1.2.7",
"2.0",
"2.0.1",
"2.0.10",
"2.0.11",
"2.0.12",
"2.0.13",
"2.0.14",
"2.0.15",
"2.0.2",
"2.0.3",
"2.0.4",
"2.0.5",
"2.0.6",
"2.0.7",
"2.0.8",
"2.0.9",
"2.0a1",
"2.0a10",
"2.0a11",
"2.0a12",
"2.0a13",
"2.0a2",
"2.0a3",
"2.0a4",
"2.0a5",
"2.0a6",
"2.0a7",
"2.0a8",
"2.0a9",
"2.0b1",
"2.0b2",
"3.0",
"3.0.1",
"3.0.2",
"3.0.3",
"3.0.4",
"3.0.5",
"3.0.6",
"3.0.7",
"3.1",
"3.1.1",
"3.2.0",
"3.2.1",
"3.2.10",
"3.2.11",
"3.2.12",
"3.2.13",
"3.2.14",
"3.2.2",
"3.2.3",
"3.2.4",
"3.2.5",
"3.2.6",
"3.2.7",
"3.2.8",
"3.2.9",
"4.0.0",
"4.0.0a1",
"4.0.0a2",
"4.0.0a3",
"4.0.0a4",
"4.0.0a5",
"4.0.0a6",
"4.0.0a7",
"4.0.0a8",
"4.0.0a9",
"4.0.0b1",
"5.0.0",
"5.0.1",
"5.1.0",
"5.1.1",
"5.1.2",
"5.1.3",
"5.1.4",
"5.1.5",
"5.1.6",
"5.1.7",
"5.1.8",
"5.2.0",
"5.2.1",
"5.2.2",
"5.2.3",
"6.0.0",
"6.0.0a1",
"6.0.0a2"
]
}
],
"aliases": [
"CVE-2026-55247",
"GHSA-r82h-mqw3-fc56"
],
"details": "### Impact\nBy abusing the iCalendar import functionality, a logged-in editor could take the whole site offline, make the server reach into the internal network and read calendar files off disk (SSRF), and store XSS.\n\n### Patches\nThe problem has been patched in `plone.app.event`.\n\n* For Plone 6.2: upgrade to `plone.app.event` 6.0.1\n* For Plone 6.1: upgrade to `plone.app.event` 5.2.4\n* For Plone 6.0: upgrade to `plone.app.event` 5.2.4\n\n### Workarounds\nIn the site root, go to the Security tab of the Zope Management Interface (`manage_access`), look for the \"plone.app.event: Import Ical\" permission, and grant this only to the Manager role. Then only users with the Manager role can use the ical import form.\n\nThere is no workaround for the stored XSS in the URL field of events.\n\nThe vulnerabilities were discovered by Timothy Dudley and responsibly reported to the [Plone Security Team](mailto:security@plone.org). Thank you!",
"id": "PYSEC-2026-3883",
"modified": "2026-09-10T11:02:25.799971Z",
"published": "2026-09-10T09:44:58.743788Z",
"references": [
{
"type": "WEB",
"url": "https://github.com/plone/plone.app.event/security/advisories/GHSA-r82h-mqw3-fc56"
},
{
"type": "WEB",
"url": "https://github.com/plone/plone.app.event/commit/1e3c83c15a24d1a789cdb012593505bc5620e28e"
},
{
"type": "WEB",
"url": "https://github.com/plone/plone.app.event/commit/4de5eb3ea9e4f7f1781622e6d64fc086629d1437"
},
{
"type": "PACKAGE",
"url": "https://github.com/plone/plone.app.event"
},
{
"type": "WEB",
"url": "https://github.com/plone/plone.app.event/releases/tag/5.2.4"
},
{
"type": "WEB",
"url": "https://github.com/plone/plone.app.event/releases/tag/6.0.1"
},
{
"type": "PACKAGE",
"url": "https://pypi.org/project/plone-app-event"
},
{
"type": "ADVISORY",
"url": "https://github.com/advisories/GHSA-r82h-mqw3-fc56"
},
{
"type": "ADVISORY",
"url": "https://nvd.nist.gov/vuln/detail/CVE-2026-55247"
}
],
"severity": [
{
"score": "CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:L/I:L/A:H",
"type": "CVSS_V3"
}
],
"summary": "plone.app.event vulnerable to denial of service via iCalendar import"
}
Sightings
| Author | Source | Type | Date | Other |
|---|
Nomenclature
- Seen: The vulnerability was mentioned, discussed, or observed by the user.
- Confirmed: The vulnerability has been validated from an analyst's perspective.
- Published Proof of Concept: A public proof of concept is available for this vulnerability.
- Exploited: The vulnerability was observed as exploited by the user who reported the sighting.
- Patched: The vulnerability was observed as successfully patched by the user who reported the sighting.
- Not exploited: The vulnerability was not observed as exploited by the user who reported the sighting.
- Not confirmed: The user expressed doubt about the validity of the vulnerability.
- Not patched: The vulnerability was not observed as successfully patched by the user who reported the sighting.
The approach is described in our paper Mapping CVEs to MITRE ATT&CK Techniques: A Curated Gold-Set Classifier and the Limits of LLM-Assisted Label Expansion.
Browse all ATT&CK techniques and the vulnerabilities related to each.
Related by attack behaviour
Vulnerabilities whose description is nearest to this one in the vector space of the CIRCL/vulnerability-attack-technique-biencoder model. This is a similarity search over the bi-encoder space (plain cosine), not a classification, and it has no measured accuracy.