CVE-2026-39941
Cross-Site Scripting in ChurchCRM EditEventAttendees.php Before
Publication date: 2026-04-09
Last updated on: 2026-04-14
Assigner: GitHub, Inc.
Description
Description
CVSS Scores
EPSS Scores
| Probability: | |
| Percentile: |
Meta Information
Affected Vendors & Products
| Vendor | Product | Version / Range |
|---|---|---|
| churchcrm | churchcrm | to 7.1.0 (exc) |
Helpful Resources
Exploitability
| CWE ID | Description |
|---|---|
| CWE-79 | The product does not neutralize or incorrectly neutralizes user-controllable input before it is placed in output that is used as a web page that is served to other users. |
| CWE-80 | The product receives input from an upstream component, but it does not neutralize or incorrectly neutralizes special characters such as "<", ">", and "&" that could be interpreted as web-scripting elements when they are sent to a downstream component that processes web pages. |
Attack-Flow Graph
AI Powered Q&A
How does this vulnerability affect compliance with common standards and regulations (like GDPR, HIPAA)?:
The CVE-2026-39941 vulnerability is a Cross-Site Scripting (XSS) issue that allows attacker-supplied input to execute arbitrary JavaScript in users' browsers. Such vulnerabilities can lead to unauthorized access to user data, session hijacking, and exposure of sensitive information.
While the provided context and resources do not explicitly mention compliance with standards like GDPR or HIPAA, XSS vulnerabilities generally pose risks to data confidentiality and integrity, which are critical aspects of these regulations.
Therefore, if exploited, this vulnerability could potentially lead to non-compliance with regulations that require protection of personal data and secure handling of user information, such as GDPR and HIPAA.
Can you explain this vulnerability to me?
CVE-2026-39941 is a Cross-Site Scripting (XSS) vulnerability in ChurchCRM, an open-source church management system. Before version 7.1.0, attacker-supplied input sent via the EName and EDesc parameters in the EditEventAttendees.php file was rendered in a page without proper output encoding. This allowed attackers to inject and execute arbitrary JavaScript code in the browsers of users who viewed the affected page.
The root cause of this vulnerability is the lack of proper output encoding and insufficient input validation, where POST parameters such as EName and EDesc were embedded directly into HTML responses without escaping. This improper neutralization of script-related HTML tags enables stored or reflected XSS attacks.
How can this vulnerability impact me? :
This vulnerability can impact users by allowing attackers to execute arbitrary JavaScript in their browsers when they view affected pages. This can lead to session hijacking, theft of sensitive information, unauthorized actions performed on behalf of the user, or distribution of malware.
Because the vulnerability affects parameters that are displayed without proper encoding, any user who views the compromised page, including administrators, can be affected by malicious scripts injected by attackers.
How can this vulnerability be detected on my network or system? Can you suggest some commands?
The vulnerability involves attacker-supplied input via POST parameters (EName, EDesc) in EditEventAttendees.php being rendered without proper output encoding, enabling XSS attacks.
To detect this vulnerability on your system, you can check the version of ChurchCRM you are running. Versions prior to 7.1.0 are vulnerable.
You can also test by sending crafted POST requests with script tags in the EName or EDesc parameters to see if the input is reflected and executed in the browser.
No specific commands are provided in the resources, but a typical approach would be to use curl or similar tools to send POST requests with malicious payloads, for example:
- curl -X POST -d "EName=<script>alert(1)</script>&EDesc=test" https://yourchurchcrm.example.com/src/EditEventAttendees.php
Then observe if the script executes in the browser when viewing the affected page.
What immediate steps should I take to mitigate this vulnerability?
The primary mitigation is to upgrade ChurchCRM to version 7.1.0 or later, where this vulnerability is fixed.
The fix includes proper escaping of user inputs using functions like InputUtils::escapeAttribute() and InputUtils::escapeHTML(), replacing unsafe sanitization methods.
If immediate upgrade is not possible, consider applying patches that enforce output encoding on the affected parameters (EName, EDesc) in EditEventAttendees.php.
Additionally, review and restrict user input to prevent injection of malicious scripts, and monitor API authorization to prevent unauthorized data modification.
Implement security best practices such as using Content Security Policy (CSP) headers to reduce impact of XSS.