CVE-2025-27102 Overview
CVE-2025-27102 is a stored HTML injection vulnerability affecting Agate, the central authentication server used by OBiBa epidemiology applications. Versions prior to 3.3.0 fail to sanitize the first and last name fields during account registration. Attackers can inject arbitrary HTML into these fields, which is then rendered inside notification emails delivered to administrative users. Because the malicious email originates from the trusted Agate service account, it provides an effective delivery channel for phishing content. The issue is tracked under CWE-79 and is fixed in Agate 3.3.0.
Critical Impact
Unauthenticated attackers can register accounts that trigger administrator-facing emails containing attacker-controlled HTML, enabling credible phishing against Agate administrators.
Affected Products
- OBiBa Agate authentication server versions prior to 3.3.0
- OBiBa epidemiology applications relying on Agate for centralized authentication
- Agate deployments that permit self-service account registration
Discovery Timeline
- 2025-03-17 - CVE-2025-27102 published to NVD
- 2026-06-17 - Last updated in NVD database
Technical Details for CVE-2025-27102
Vulnerability Analysis
Agate provides centralized authentication for OBiBa's epidemiology software stack. When a new user submits the registration form, Agate emails administrators to notify them of the pending account. The registration handler accepts the firstName and lastName fields without stripping or encoding HTML markup. When the notification template renders these values into the outbound email body, the injected HTML executes as email content on the administrator's mail client.
The attacker payload can include hyperlinks, styled buttons, spoofed branding, or hidden iframes. Because the email is sent from the legitimate Agate service account, it passes standard trust cues such as SPF, DKIM, and sender reputation checks. Administrators receiving the message have no visual indication that portions of the body were controlled by the registrant.
Exploitation requires no authentication and no privileges. The attacker only needs access to the Agate registration endpoint and must wait for an administrator to open the resulting notification email.
Root Cause
The defect stems from missing output encoding in the administrator notification email template. User-supplied profile fields are interpolated directly into HTML email content rather than being HTML-entity encoded. This is a textbook improper neutralization of input during web page generation issue, classified as CWE-79.
Attack Vector
An unauthenticated attacker submits the Agate account registration form and places malicious HTML, such as an anchor tag pointing to an attacker-controlled login page, inside the first or last name field. Agate stores the values and sends the standard "new user registered" email to administrators. When an administrator opens the message, the injected markup renders inline, presenting phishing content that appears to originate from the internal Agate service.
The vulnerability is described in prose only; refer to the GitHub Security Advisory GHSA-v3wj-7vj5-xj5v for vendor-supplied technical detail.
Detection Methods for CVE-2025-27102
Indicators of Compromise
- Agate user records where firstName or lastName fields contain HTML tags such as <a>, <img>, <script>, or <iframe>.
- Administrator inboxes containing Agate registration notification emails with embedded hyperlinks, external images, or unexpected formatting.
- Registration events originating from anonymous or disposable email domains that immediately precede administrator phishing reports.
Detection Strategies
- Query the Agate user datastore for profile fields containing angle brackets, URL schemes, or HTML entities and flag matching accounts for review.
- Inspect outbound mail server logs for Agate notification emails whose message bodies contain hyperlinks or markup outside the expected template structure.
- Correlate new account registrations with subsequent administrator authentication anomalies to identify potential credential theft following a phishing click.
Monitoring Recommendations
- Alert on any Agate registration where profile fields exceed expected length or contain non-alphanumeric characters beyond common name punctuation.
- Forward Agate application and mail relay logs to a centralized analytics platform to enable retrospective hunting for injected payloads.
- Enable user reporting of suspicious internal emails and treat any Agate-branded phishing report as an incident requiring account review.
How to Mitigate CVE-2025-27102
Immediate Actions Required
- Upgrade Agate to version 3.3.0 or later, which sanitizes user-supplied profile fields before rendering them in notification emails.
- Audit existing user accounts for HTML content in firstName and lastName fields and remediate or delete affected records.
- Notify administrators to treat Agate registration emails with caution until the upgrade is confirmed across all environments.
Patch Information
The fix is available in Agate 3.3.0. Release details are published in the Agate 3.3.0 Release Notes and the coordinated GitHub Security Advisory GHSA-v3wj-7vj5-xj5v. Operators running self-hosted Agate deployments should plan an upgrade window and validate the notification email templates after deployment.
Workarounds
- Temporarily disable self-service account registration and require administrators to provision users manually until the patch is applied.
- Apply an upstream proxy or web application firewall rule that rejects registration payloads containing HTML control characters in name fields.
- Configure administrator mail clients to render Agate notifications as plain text to neutralize injected markup pending remediation.
Disclaimer: This content was generated using AI. While we strive for accuracy, please verify critical information with official sources.

