
CVE-2026-27579 - CORS Misconfiguration – Arbitrary Origin with Credentials → Authenticated Cross-Origin Account Data Exposure
CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:H/I:N/A:N
The realtime-collaboration-platform project contained a CORS misconfiguration in its Appwrite backend configuration.
The server:
This combination allowed an attacker-controlled domain to:
This resulted in exposure of:
The backend failed to properly validate and restrict the Origin header.
Improper configuration:
Access-Control-Allow-Origin: *
Access-Control-Allow-Credentials: true
Or dynamic reflection of arbitrary origins.
This violates CORS security principles because:
Browsers allow credentialed cross-origin requests only when the origin is explicitly trusted.
Instead, the application trusted any origin, creating a cross-origin data exfiltration vector.
| Impact Area | Effect |
|---|---|
| Confidentiality | HIGH |
| Integrity | None |
| Availability | None |
| Scope | Changed |
An attacker could:
No direct privilege required.
This makes it a powerful client-side attack with real-world exploitation potential.
fetch("https://target-appwrite-endpoint/v1/account", {
credentials: "include"
})
.then(res => res.json())
.then(data => {
console.log("Exfiltrated:", data);
});
If the victim is logged in, their session cookie is included automatically.
Because of permissive CORS, the attacker can read the response.
Proper mitigation requires:
Correct configuration example:
Access-Control-Allow-Origin: https://trusted-domain.com
Access-Control-Allow-Credentials: true
Or:
Access-Control-Allow-Origin: *
Access-Control-Allow-Credentials: false
CORS misconfiguration + credentials = Data breach.
Never allow:
* + credentials=true