CVE-2021-45457
Official description Straight from the sourceThe vendor's or NVD's own wording, published unedited. Authoritative, but often terse — it says what broke, rarely what to do.
NVD · uneditedIn Apache Kylin, Cross-origin requests with credentials are allowed to be sent from any origin. This issue affects Apache Kylin 2 version 2.6.6 and prior versions; Apache Kylin 3 version 3.1.2 and prior versions; Apache Kylin 4 version 4.0.0 and prior versions.
Technical summary Written by usOur analysis, written from the advisory, the CVSS vector and the affected-version data. It adds context the advisory leaves out, and never invents facts that are not in the source.
dbcve analysis · high confidenceApache Kylin versions 2.6.6, 3.1.2, and 4.0.0 and prior have a CORS misconfiguration that allows cross-origin requests with credentials (such as session cookies) from any origin (Access-Control-Allow-Origin: * with Access-Control-Allow-Credentials: true). This enables malicious websites to make authenticated requests on behalf of users, potentially leading to unauthorized data access or actions.
Verify against the referenced sources before acting — the references below are authoritative for this CVE, this summary is not.
Affected products & versions What the vendor confirmedThe version ranges the vendor confirmed as vulnerable. If your version sits inside a range here, treat yourself as exposed until you have upgraded.
NVD · CPE data>= 2.0.0, <= 2.6.6>= 3.0.0, < 3.1.3= 4.0.0CVSS breakdown How the score is builtThe industry scoring standard. It rates how the flaw is reached, what it takes to exploit, and what an attacker gains — the score is derived from those, not the other way round.
From the vector- Attack vector
- Network
- Complexity
- Low
- Privileges
- None
- User interaction
- None
- Scope
- Unchanged
- Confidentiality
- High
- Integrity
- None
- Availability
- None
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N
Am I affected? How to checkSteps we derive from the advisory and the affected-version data, so you can decide whether this CVE reaches your setup. They are a guide, not a scan — your own configuration is the authority.
dbcve checksWork through these to decide whether this CVE applies to you.
-
Identify if Apache Kylin is runningCheck for Kylin processes or web service endpoints (default port 7070). Look for kylin processes via 'ps aux | grep kylin' or check if port 7070 is listening.Affected if Apache Kylin is not installed or not running (not affected)
-
Determine installed Kylin versionCheck the version file typically found in $KYLIN_HOME/version or the about page in the Kylin web UI. Alternatively, check the kylin.properties or kylin-version.conf file.Affected if Version is >= 2.0.0 and <= 2.6.6, OR >= 3.0.0 and < 3.1.3, OR = 4.0.0 (potentially affected)
-
Inspect CORS configuration filesExamine the web.xml file in $KYLIN_HOME/tomcat/webapps/kylin/WEB-INF/ and look for CORS filter configuration. Also check kylin.properties for any cors.* settings.Affected if Configuration shows Access-Control-Allow-Origin set to '*' and Access-Control-Allow-Credentials set to 'true' simultaneously (vulnerable)
-
Test actual CORS headers from the serverSend an HTTP OPTIONS request with an Origin header (e.g., 'Origin: http://evil.com') and 'Access-Control-Request-Credentials: true'. Use: curl -I -X OPTIONS -H 'Origin: http://evil.com' -H 'Access-Control-Request-Credentials: true' http://<kylin-host>:7070/kylin/api/Affected if Response includes 'Access-Control-Allow-Origin: *' AND 'Access-Control-Allow-Credentials: true' (vulnerable and affected)
A user is affected if they are running a vulnerable Kylin version (2.0.0-2.6.6, 3.0.0-<3.1.3, or 4.0.0) AND the server responds with wildcard origin (*) alongside credentials allowed, allowing any external site to make authenticated requests.
Generated from the published advisory. Verify against your own configuration.
Remediation Closing itWhat it takes to close this. Where a vendor fix exists we point at it; where none exists we say so plainly, and can build one. Effort estimates are scoped from the advisory, not from your codebase.
dbcve · scoped3.1.3
Configure the CORS policy to explicitly whitelist trusted origins rather than allowing any origin. In the web server or application configuration, set Access-Control-Allow-Origin to specific domains and ensure Access-Control-Allow-Credentials is only enabled for trusted origins.
Kylin 2.x -> 2.6.7+; Kylin 3.x -> 3.1.3+; Kylin 4.x -> 4.0.1+
- 1. Identify the current Apache Kylin version in use (2.x, 3.x, or 4.x)
- 2. For Kylin 2.x users: Upgrade to version 2.6.7 or later
- 3. For Kylin 3.x users: Upgrade to version 3.1.3 or later
- 4. For Kylin 4.x users: Upgrade to version 4.0.1 or later
- 5. After upgrade, verify CORS configuration restricts allowed origins appropriately
- 6. Test that legitimate cross-origin requests still function as expected
Generated from the published advisory — verify against the referenced sources before acting.
- Consultation3.0 h
- Implementation2.0 h
- Testing3.0 h
- Review / QA2.0 h
An estimate, not a bill — we confirm scope with you before any work starts. Need it this week? Rush from $2,832.
Scan for this in your stack
Free · runs locallyCheck whether your project pulls in CVE-2021-45457 — or any other known-vulnerable package — straight from your lock files. Free and open source; it runs locally and uploads nothing.
References Go to the primary sourcePrimary sources — vendor advisories, patches and trackers. Where our summary and a reference disagree, the reference wins.
Primary sourcesPractitioner notes
ContributedPeer-ranked notes from engineers who’ve handled CVE-2021-45457 in production — separate from our analysis above.
The advisory tells you what broke. It rarely tells you what actually worked. If you’ve dealt with this one, that detail is what the next engineer is searching for.
- The version that genuinely resolved it — not the one the vendor claimed
- A config change or rule that shut the vector down
- A gotcha in the upgrade path that cost you an afternoon
No notes yet
Be the first to add a field note for this CVE — a mitigation you’ve verified, a version caveat, or a link to a working fix. Sign in above to contribute.
A place for practitioners to share what actually worked: a mitigation you’ve tested, a configuration change, a version- or environment-specific caveat, or a link to a verified patch. The most useful notes rise to the top as peers upvote them, so the signal stays high.
- Verified mitigations, workarounds, and config changes
- Version or environment caveats, and links to real fixes
- No weaponised exploit code, or anything meant to cause harm
- No spam, self-promotion, credentials, or personal data