CWE-287
DiscouragedImproper Authentication
Abstraction: Class · Status: Draft
When an actor claims to have a given identity, the product does not prove or insufficiently proves that the claim is correct.
6641 vulnerabilities reference this CWE, most recent first.
GHSA-6HQJ-HPCQ-8JFC
Vulnerability from github – Published: 2022-05-14 02:54 – Updated: 2022-05-14 02:54The web interface on the LifeSize Room appliance LS_RM1_3.5.3 (11) allows remote attackers to bypass authentication via unspecified data associated with a "true" authentication status, related to AMF data and the LSRoom_Remoting.authenticate function in gateway.php.
{
"affected": [],
"aliases": [
"CVE-2011-2762"
],
"database_specific": {
"cwe_ids": [
"CWE-287"
],
"github_reviewed": false,
"github_reviewed_at": null,
"nvd_published_at": "2011-09-02T16:55:00Z",
"severity": "MODERATE"
},
"details": "The web interface on the LifeSize Room appliance LS_RM1_3.5.3 (11) allows remote attackers to bypass authentication via unspecified data associated with a \"true\" authentication status, related to AMF data and the LSRoom_Remoting.authenticate function in gateway.php.",
"id": "GHSA-6hqj-hpcq-8jfc",
"modified": "2022-05-14T02:54:57Z",
"published": "2022-05-14T02:54:57Z",
"references": [
{
"type": "ADVISORY",
"url": "https://nvd.nist.gov/vuln/detail/CVE-2011-2762"
},
{
"type": "WEB",
"url": "https://exchange.xforce.ibmcloud.com/vulnerabilities/69445"
},
{
"type": "WEB",
"url": "http://securityreason.com/securityalert/8364"
},
{
"type": "WEB",
"url": "http://www.kb.cert.org/vuls/id/213486"
},
{
"type": "WEB",
"url": "http://www.securestate.com/Documents/LifeSize_Room_Advisory.txt"
},
{
"type": "WEB",
"url": "http://www.securityfocus.com/archive/1/519463/100/0/threaded"
},
{
"type": "WEB",
"url": "http://www.securityfocus.com/bid/49330"
}
],
"schema_version": "1.4.0",
"severity": []
}
GHSA-6HQP-9QP3-HX5W
Vulnerability from github – Published: 2022-05-17 02:11 – Updated: 2022-05-17 02:11Unspecified vulnerability in YourPlace before 1.0.1 has unknown impact and attack vectors, possibly related to improper authentication and the ability to upload arbitrary PHP code. NOTE: some of these details are obtained from third party information.
{
"affected": [],
"aliases": [
"CVE-2008-6445"
],
"database_specific": {
"cwe_ids": [
"CWE-287"
],
"github_reviewed": false,
"github_reviewed_at": null,
"nvd_published_at": "2009-03-09T14:30:00Z",
"severity": "HIGH"
},
"details": "Unspecified vulnerability in YourPlace before 1.0.1 has unknown impact and attack vectors, possibly related to improper authentication and the ability to upload arbitrary PHP code. NOTE: some of these details are obtained from third party information.",
"id": "GHSA-6hqp-9qp3-hx5w",
"modified": "2022-05-17T02:11:19Z",
"published": "2022-05-17T02:11:19Z",
"references": [
{
"type": "ADVISORY",
"url": "https://nvd.nist.gov/vuln/detail/CVE-2008-6445"
},
{
"type": "WEB",
"url": "https://exchange.xforce.ibmcloud.com/vulnerabilities/43601"
},
{
"type": "WEB",
"url": "http://osvdb.org/46754"
},
{
"type": "WEB",
"url": "http://secunia.com/advisories/30956"
},
{
"type": "WEB",
"url": "http://sourceforge.net/project/shownotes.php?release_id=611591\u0026group_id=229069"
},
{
"type": "WEB",
"url": "http://www.securityfocus.com/bid/30106"
}
],
"schema_version": "1.4.0",
"severity": []
}
GHSA-6HR5-58C2-7W3G
Vulnerability from github – Published: 2021-12-27 00:01 – Updated: 2022-07-13 00:01Certain NETGEAR devices are affected by authentication bypass. This affects R7000P before 1.3.3.140 and R8000 before 1.0.4.68.
{
"affected": [],
"aliases": [
"CVE-2021-45500"
],
"database_specific": {
"cwe_ids": [
"CWE-287"
],
"github_reviewed": false,
"github_reviewed_at": null,
"nvd_published_at": "2021-12-26T01:15:00Z",
"severity": "HIGH"
},
"details": "Certain NETGEAR devices are affected by authentication bypass. This affects R7000P before 1.3.3.140 and R8000 before 1.0.4.68.",
"id": "GHSA-6hr5-58c2-7w3g",
"modified": "2022-07-13T00:01:50Z",
"published": "2021-12-27T00:01:47Z",
"references": [
{
"type": "ADVISORY",
"url": "https://nvd.nist.gov/vuln/detail/CVE-2021-45500"
},
{
"type": "WEB",
"url": "https://kb.netgear.com/000064070/Security-Advisory-for-Authentication-Bypass-on-Some-Routers-PSV-2019-0183"
}
],
"schema_version": "1.4.0",
"severity": [
{
"score": "CVSS:3.1/AV:A/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H",
"type": "CVSS_V3"
}
]
}
GHSA-6HVV-X2XW-P422
Vulnerability from github – Published: 2022-05-24 19:12 – Updated: 2022-05-24 19:12The vRealize Operations Manager API (8.x prior to 8.5) contains a broken access control vulnerability leading to unauthenticated API access. An unauthenticated malicious actor with network access to the vRealize Operations Manager API can add new nodes to existing vROps cluster.
{
"affected": [],
"aliases": [
"CVE-2021-22025"
],
"database_specific": {
"cwe_ids": [
"CWE-287"
],
"github_reviewed": false,
"github_reviewed_at": null,
"nvd_published_at": "2021-08-30T18:15:00Z",
"severity": "HIGH"
},
"details": "The vRealize Operations Manager API (8.x prior to 8.5) contains a broken access control vulnerability leading to unauthenticated API access. An unauthenticated malicious actor with network access to the vRealize Operations Manager API can add new nodes to existing vROps cluster.",
"id": "GHSA-6hvv-x2xw-p422",
"modified": "2022-05-24T19:12:29Z",
"published": "2022-05-24T19:12:29Z",
"references": [
{
"type": "ADVISORY",
"url": "https://nvd.nist.gov/vuln/detail/CVE-2021-22025"
},
{
"type": "WEB",
"url": "https://www.vmware.com/security/advisories/VMSA-2021-0018.html"
}
],
"schema_version": "1.4.0",
"severity": []
}
GHSA-6J24-RH4H-RQ7F
Vulnerability from github – Published: 2022-05-24 16:54 – Updated: 2023-07-17 18:31A vulnerability in the web-based management interface of Cisco Integrated Management Controller (IMC) Supervisor, Cisco UCS Director, and Cisco UCS Director Express for Big Data could allow an unauthenticated, remote attacker to acquire a valid session token with administrator privileges, bypassing user authentication. The vulnerability is due to insufficient request header validation during the authentication process. An attacker could exploit this vulnerability by sending a series of malicious requests to an affected device. An exploit could allow the attacker to use the acquired session token to gain full administrator access to the affected device.
{
"affected": [],
"aliases": [
"CVE-2019-1937"
],
"database_specific": {
"cwe_ids": [
"CWE-287"
],
"github_reviewed": false,
"github_reviewed_at": null,
"nvd_published_at": "2019-08-21T19:15:00Z",
"severity": "CRITICAL"
},
"details": "A vulnerability in the web-based management interface of Cisco Integrated Management Controller (IMC) Supervisor, Cisco UCS Director, and Cisco UCS Director Express for Big Data could allow an unauthenticated, remote attacker to acquire a valid session token with administrator privileges, bypassing user authentication. The vulnerability is due to insufficient request header validation during the authentication process. An attacker could exploit this vulnerability by sending a series of malicious requests to an affected device. An exploit could allow the attacker to use the acquired session token to gain full administrator access to the affected device.",
"id": "GHSA-6j24-rh4h-rq7f",
"modified": "2023-07-17T18:31:25Z",
"published": "2022-05-24T16:54:25Z",
"references": [
{
"type": "ADVISORY",
"url": "https://nvd.nist.gov/vuln/detail/CVE-2019-1937"
},
{
"type": "WEB",
"url": "https://seclists.org/bugtraq/2019/Aug/49"
},
{
"type": "WEB",
"url": "https://tools.cisco.com/security/center/content/CiscoSecurityAdvisory/cisco-sa-20190821-imcs-ucs-authby"
},
{
"type": "WEB",
"url": "http://packetstormsecurity.com/files/154239/Cisco-UCS-IMC-Supervisor-Authentication-Bypass-Command-Injection.html"
},
{
"type": "WEB",
"url": "http://packetstormsecurity.com/files/154308/Cisco-UCS-Director-Unauthenticated-Remote-Code-Execution.html"
},
{
"type": "WEB",
"url": "http://packetstormsecurity.com/files/173531/Cisco-UCS-IMC-Supervisor-2.2.0.0-Authentication-Bypass.html"
},
{
"type": "WEB",
"url": "http://seclists.org/fulldisclosure/2019/Aug/36"
}
],
"schema_version": "1.4.0",
"severity": [
{
"score": "CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H",
"type": "CVSS_V3"
}
]
}
GHSA-6J2W-HJ4V-3X7G
Vulnerability from github – Published: 2022-05-13 01:38 – Updated: 2022-05-13 01:38An authentication bypass vulnerability in Juniper Networks Junos Space Network Management Platform may allow a remote unauthenticated network based attacker to login as any privileged user. This issue only affects Junos Space Network Management Platform 17.1R1 without Patch v1 and 16.1 releases prior to 16.1R3. This issue was found by an external security researcher.
{
"affected": [],
"aliases": [
"CVE-2017-10622"
],
"database_specific": {
"cwe_ids": [
"CWE-287"
],
"github_reviewed": false,
"github_reviewed_at": null,
"nvd_published_at": "2017-10-13T17:29:00Z",
"severity": "CRITICAL"
},
"details": "An authentication bypass vulnerability in Juniper Networks Junos Space Network Management Platform may allow a remote unauthenticated network based attacker to login as any privileged user. This issue only affects Junos Space Network Management Platform 17.1R1 without Patch v1 and 16.1 releases prior to 16.1R3. This issue was found by an external security researcher.",
"id": "GHSA-6j2w-hj4v-3x7g",
"modified": "2022-05-13T01:38:19Z",
"published": "2022-05-13T01:38:19Z",
"references": [
{
"type": "ADVISORY",
"url": "https://nvd.nist.gov/vuln/detail/CVE-2017-10622"
},
{
"type": "WEB",
"url": "https://kb.juniper.net/JSA10824"
},
{
"type": "WEB",
"url": "http://www.securityfocus.com/bid/101258"
}
],
"schema_version": "1.4.0",
"severity": [
{
"score": "CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H",
"type": "CVSS_V3"
}
]
}
GHSA-6J36-R6PR-59X4
Vulnerability from github – Published: 2026-09-17 14:50 – Updated: 2026-09-17 14:50External-authentication account takeover: external login linked to a pre-existing account by email without requiring verification
Package: @vendure/core (vendure-ecommerce/vendure, latest master) ·
[!IMPORTANT] This vulnerability only affects deployments that use external / social authentication (an
AuthenticationStrategyother than the built-in native email/password strategy) where that strategy can return an email address the external provider has not verified the user owns.
You are affected if all of these are true:
- Your store configures one or more external AuthenticationStrategy implementations
(custom OAuth / social login / SSO), and
- At least one forwards an emailAddress to ExternalAuthenticationService without
guaranteeing the provider verified ownership of it (e.g. it doesn't check the provider's
email_verified claim, or leaves verified unset/false), and
- Customer accounts exist that share an email address with those external identities.
You are NOT affected if:
- You use only the built-in native (email/password) authentication with no external strategies, or
- Every external strategy you use only ever returns provider-verified emails (and sets verified: true).
Remediation: Upgrade to 3.7.0. After upgrading, an external login is only linked to a
pre-existing account when the email is verified; a custom AuthenticationStrategy must set
verified: true only for emails the provider has actually verified.
Summary
ExternalAuthenticationService.createCustomerAndUser() links a newly-presented external (OAuth/social) authentication method to a pre-existing User account selected purely by email-address match, and it does so without requiring config.verified === true. If any configured AuthenticationStrategy forwards an email that was not proven to belong to the external identity (the classic email_verified omission — common with custom OAuth providers, or providers/strategies that don't validate email ownership), an attacker can register at that provider using a victim's email address, authenticate, and have their external identity bound to the victim's existing Vendure account — resulting in account takeover.
Vulnerable code
packages/core/src/service/helpers/external-authentication/external-authentication.service.ts — createCustomerAndUser:
const existingUser = await this.findExistingCustomerUserByEmailAddress(ctx, config.emailAddress);
if (existingUser) {
user = existingUser; // <-- links to the EXISTING account, by email alone
} else {
user = new User({ identifier: config.emailAddress, verified: config.verified || false, ... });
}
const authMethod = await this.connection.getRepository(ctx, ExternalAuthenticationMethod).save(
new ExternalAuthenticationMethod({ externalIdentifier: config.externalIdentifier, strategy: config.strategy }),
);
user.authenticationMethods = [...(user.authenticationMethods || []), authMethod]; // <-- external login attached
await this.connection.getRepository(ctx, User).save(user);
config.verified is used only to set User.verified and to write a CUSTOMER_VERIFIED history entry (later in the method) — it is never used to gate whether the external method may be attached to an existing account. So an unverified external email links to the victim's account just the same.
Impact
Account takeover of any customer whose email address an attacker can present (unverified) via an external auth provider — read/modify the victim's orders, addresses, and PII, and place orders as them. The blast radius depends on the deployed AuthenticationStrategy(ies): strategies that don't strictly require a provider-verified email (or providers that don't guarantee email ownership) are directly exploitable.
Reproduction (conceptual)
- Victim has a native Vendure customer account
victim@example.com. - Attacker authenticates through an external provider configured on the store, presenting
emailAddress = victim@example.comwithverifiedunset/false (depending on the strategy/provider). createCustomerAndUserfinds the victim's existing User by email and attaches the attacker'sExternalAuthenticationMethod.- Attacker logs in via that external method → authenticated as the victim.
Suggested fix
Refuse to bind an external authentication method to a pre-existing account unless the email is provably verified, and prefer explicit, authenticated account-linking:
if (existingUser) {
if (!config.verified) {
// Do not silently link an unverified external identity to an existing account.
throw new EmailAddressConflictError(); // or require the user to link while logged in
}
user = existingUser;
}
Document clearly that an AuthenticationStrategy MUST only set verified: true for provider-verified emails, and that linking to existing accounts requires it.
{
"affected": [
{
"package": {
"ecosystem": "npm",
"name": "@vendure/core"
},
"ranges": [
{
"events": [
{
"introduced": "0"
},
{
"fixed": "3.7.0"
}
],
"type": "ECOSYSTEM"
}
]
}
],
"aliases": [
"CVE-2026-63472"
],
"database_specific": {
"cwe_ids": [
"CWE-287"
],
"github_reviewed": true,
"github_reviewed_at": "2026-09-17T14:50:22Z",
"nvd_published_at": null,
"severity": "CRITICAL"
},
"details": "# External-authentication account takeover: external login linked to a pre-existing account by email without requiring verification\n\n**Package:** @vendure/core (vendure-ecommerce/vendure, latest master) \u00b7 \n\n\u003e [!IMPORTANT]\n\u003e This vulnerability **only affects deployments that use external / social authentication**\n(an `AuthenticationStrategy` other than the built-in native email/password strategy) where\nthat strategy can return an email address the external provider has **not verified** the\nuser owns.\n\n**You are affected if all of these are true:**\n- Your store configures one or more external `AuthenticationStrategy` implementations\n (custom OAuth / social login / SSO), **and**\n- At least one forwards an `emailAddress` to `ExternalAuthenticationService` without\n guaranteeing the provider verified ownership of it (e.g. it doesn\u0027t check the provider\u0027s\n `email_verified` claim, or leaves `verified` unset/false), **and**\n- Customer accounts exist that share an email address with those external identities.\n\n**You are NOT affected if:**\n- You use only the built-in native (email/password) authentication with no external strategies, **or**\n- Every external strategy you use only ever returns provider-verified emails (and sets `verified: true`).\n\n**Remediation:** Upgrade to **3.7.0**. After upgrading, an external login is only linked to a\npre-existing account when the email is verified; a custom `AuthenticationStrategy` must set\n`verified: true` only for emails the provider has actually verified.\n\n## Summary\n`ExternalAuthenticationService.createCustomerAndUser()` links a newly-presented external (OAuth/social) authentication method to a **pre-existing User account selected purely by email-address match**, and it does so **without requiring `config.verified === true`**. If any configured `AuthenticationStrategy` forwards an email that was not proven to belong to the external identity (the classic `email_verified` omission \u2014 common with custom OAuth providers, or providers/strategies that don\u0027t validate email ownership), an attacker can register at that provider using a victim\u0027s email address, authenticate, and have their external identity bound to the victim\u0027s existing Vendure account \u2014 resulting in account takeover.\n\n## Vulnerable code\n`packages/core/src/service/helpers/external-authentication/external-authentication.service.ts` \u2014 `createCustomerAndUser`:\n```ts\nconst existingUser = await this.findExistingCustomerUserByEmailAddress(ctx, config.emailAddress);\nif (existingUser) {\n user = existingUser; // \u003c-- links to the EXISTING account, by email alone\n} else {\n user = new User({ identifier: config.emailAddress, verified: config.verified || false, ... });\n}\nconst authMethod = await this.connection.getRepository(ctx, ExternalAuthenticationMethod).save(\n new ExternalAuthenticationMethod({ externalIdentifier: config.externalIdentifier, strategy: config.strategy }),\n);\nuser.authenticationMethods = [...(user.authenticationMethods || []), authMethod]; // \u003c-- external login attached\nawait this.connection.getRepository(ctx, User).save(user);\n```\n`config.verified` is used only to set `User.verified` and to write a `CUSTOMER_VERIFIED` history entry (later in the method) \u2014 it is **never** used to gate whether the external method may be attached to an existing account. So an unverified external email links to the victim\u0027s account just the same.\n\n## Impact\nAccount takeover of any customer whose email address an attacker can present (unverified) via an external auth provider \u2014 read/modify the victim\u0027s orders, addresses, and PII, and place orders as them. The blast radius depends on the deployed `AuthenticationStrategy`(ies): strategies that don\u0027t strictly require a provider-verified email (or providers that don\u0027t guarantee email ownership) are directly exploitable.\n\n## Reproduction (conceptual)\n1. Victim has a native Vendure customer account `victim@example.com`.\n2. Attacker authenticates through an external provider configured on the store, presenting `emailAddress = victim@example.com` with `verified` unset/false (depending on the strategy/provider).\n3. `createCustomerAndUser` finds the victim\u0027s existing User by email and attaches the attacker\u0027s `ExternalAuthenticationMethod`.\n4. Attacker logs in via that external method \u2192 authenticated as the victim.\n\n## Suggested fix\nRefuse to bind an external authentication method to a **pre-existing** account unless the email is provably verified, and prefer explicit, authenticated account-linking:\n```ts\nif (existingUser) {\n if (!config.verified) {\n // Do not silently link an unverified external identity to an existing account.\n throw new EmailAddressConflictError(); // or require the user to link while logged in\n }\n user = existingUser;\n}\n```\nDocument clearly that an `AuthenticationStrategy` MUST only set `verified: true` for provider-verified emails, and that linking to existing accounts requires it.",
"id": "GHSA-6j36-r6pr-59x4",
"modified": "2026-09-17T14:50:22Z",
"published": "2026-09-17T14:50:22Z",
"references": [
{
"type": "WEB",
"url": "https://github.com/vendurehq/vendure/security/advisories/GHSA-6j36-r6pr-59x4"
},
{
"type": "WEB",
"url": "https://github.com/vendurehq/vendure/commit/3bb04718ea4f9395fda731bd2a4bcfc3afb0a485"
},
{
"type": "PACKAGE",
"url": "https://github.com/vendurehq/vendure"
},
{
"type": "WEB",
"url": "https://github.com/vendurehq/vendure/releases/tag/v3.7.0"
}
],
"schema_version": "1.4.0",
"severity": [
{
"score": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:N",
"type": "CVSS_V3"
}
],
"summary": "Vendure affected by external-authentication account takeover: external login linked to a pre-existing account by email without verification"
}
GHSA-6JCC-XGCR-Q3H4
Vulnerability from github – Published: 2025-08-08 14:29 – Updated: 2026-02-04 22:13Summary
An authentication bypass vulnerability allows any unauthenticated attacker to impersonate any ActivityPub actor by sending forged activities signed with their own keys. Activities are processed before verifying the signing key belongs to the claimed actor, enabling complete actor impersonation across all Fedify instances
Details
The vulnerability exists in handleInboxInternal function in fedify/federation/handler.ts. The critical flaw is in the order of operations:
- Line 1712: routeActivity() is called first, which processes the activity (either immediately or by adding to queue)
- Line 1730: Authentication check (doesActorOwnKey) happens AFTER processing
// fedify/federation/handler.ts:1712-1750
const routeResult = await routeActivity({ // ← Activity processed here
context: ctx,
json,
activity,
recipient,
inboxListeners,
inboxContextFactory,
inboxErrorHandler,
kv,
kvPrefixes,
queue,
span,
tracerProvider,
});
if (
httpSigKey != null && !await doesActorOwnKey(activity, httpSigKey, ctx) // ← Auth check too late
) {
// Returns 401, but activity already processed
return new Response("The signer and the actor do not match.", {
status: 401,
headers: { "Content-Type": "text/plain; charset=utf-8" },
});
}
By the time the 401 response is returned, the malicious activity has already been processed or queued.
PoC
- Create an activity claiming to be from any actor:
const maliciousActivity = {
"@context": "https://www.w3.org/ns/activitystreams",
"type": "Create",
"actor": "https://victim.example.com/users/alice", // Impersonating victim
"object": {
"type": "Note",
"content": "This is a forged message!"
}
}
- Sign the HTTP request with attacker's key (not the victim's):
// Sign with attacker's key: https://attacker.com/users/eve#main-key
const signedRequest = await signRequest(request, attackerPrivateKey, attackerKeyId);
- Send to any Fedify inbox - the activity will be processed despite the key mismatch.
Impact
Type: Authentication Bypass / Actor Impersonation
Who is impacted: All Fedify instances and their users
Consequences: Allows complete impersonation of any ActivityPub actor, enabling: - Sending fake posts/messages as any user - Creating/removing follows as any user - Boosting/sharing content as any user - Complete compromise of federation trust model
The vulnerability affects all Fedify instances but does not propagate to other ActivityPub implementations (Mastodon, etc.) which properly validate before processing.
{
"affected": [
{
"package": {
"ecosystem": "npm",
"name": "@fedify/fedify"
},
"ranges": [
{
"events": [
{
"introduced": "0"
},
{
"fixed": "1.3.20"
}
],
"type": "ECOSYSTEM"
}
]
},
{
"package": {
"ecosystem": "npm",
"name": "@fedify/fedify"
},
"ranges": [
{
"events": [
{
"introduced": "1.4.0-dev.585"
},
{
"fixed": "1.4.13"
}
],
"type": "ECOSYSTEM"
}
]
},
{
"package": {
"ecosystem": "npm",
"name": "@fedify/fedify"
},
"ranges": [
{
"events": [
{
"introduced": "1.5.0-dev.636"
},
{
"fixed": "1.5.5"
}
],
"type": "ECOSYSTEM"
}
]
},
{
"package": {
"ecosystem": "npm",
"name": "@fedify/fedify"
},
"ranges": [
{
"events": [
{
"introduced": "1.6.0-dev.754"
},
{
"fixed": "1.6.8"
}
],
"type": "ECOSYSTEM"
}
]
},
{
"package": {
"ecosystem": "npm",
"name": "@fedify/fedify"
},
"ranges": [
{
"events": [
{
"introduced": "1.7.0-pr.251.885"
},
{
"fixed": "1.7.9"
}
],
"type": "ECOSYSTEM"
}
]
},
{
"package": {
"ecosystem": "npm",
"name": "@fedify/fedify"
},
"ranges": [
{
"events": [
{
"introduced": "1.8.0-dev.909"
},
{
"fixed": "1.8.5"
}
],
"type": "ECOSYSTEM"
}
]
}
],
"aliases": [
"CVE-2025-54888"
],
"database_specific": {
"cwe_ids": [
"CWE-287",
"CWE-863"
],
"github_reviewed": true,
"github_reviewed_at": "2025-08-08T14:29:48Z",
"nvd_published_at": "2025-08-09T02:15:37Z",
"severity": "HIGH"
},
"details": "### Summary\n An authentication bypass vulnerability allows any unauthenticated attacker to impersonate any ActivityPub actor by sending forged activities signed with their own keys. Activities are processed before verifying the signing key belongs to the claimed actor, enabling complete actor impersonation across all Fedify instances\n\n### Details\nThe vulnerability exists in handleInboxInternal function in fedify/federation/handler.ts. The critical flaw is in the order of operations:\n\n 1. Line 1712: routeActivity() is called first, which processes the activity (either immediately or by adding to queue)\n 2. Line 1730: Authentication check (doesActorOwnKey) happens AFTER processing\n\n```ts\n // fedify/federation/handler.ts:1712-1750\n const routeResult = await routeActivity({ // \u2190 Activity processed here\n context: ctx,\n json,\n activity,\n recipient,\n inboxListeners,\n inboxContextFactory,\n inboxErrorHandler,\n kv,\n kvPrefixes,\n queue,\n span,\n tracerProvider,\n });\n\n if (\n httpSigKey != null \u0026\u0026 !await doesActorOwnKey(activity, httpSigKey, ctx) // \u2190 Auth check too late\n ) {\n // Returns 401, but activity already processed\n return new Response(\"The signer and the actor do not match.\", {\n status: 401,\n headers: { \"Content-Type\": \"text/plain; charset=utf-8\" },\n });\n }\n```\n\nBy the time the 401 response is returned, the malicious activity has already been processed or queued.\n\n### PoC\n\n 1. Create an activity claiming to be from any actor:\n```ts\n const maliciousActivity = {\n \"@context\": \"https://www.w3.org/ns/activitystreams\",\n \"type\": \"Create\",\n \"actor\": \"https://victim.example.com/users/alice\", // Impersonating victim\n \"object\": {\n \"type\": \"Note\",\n \"content\": \"This is a forged message!\"\n }\n }\n```\n 2. Sign the HTTP request with attacker\u0027s key (not the victim\u0027s):\n```ts\n // Sign with attacker\u0027s key: https://attacker.com/users/eve#main-key\n const signedRequest = await signRequest(request, attackerPrivateKey, attackerKeyId);\n```\n 3. Send to any Fedify inbox - the activity will be processed despite the key mismatch.\n\n### Impact\n\nType: Authentication Bypass / Actor Impersonation\n\nWho is impacted: All Fedify instances and their users\n\nConsequences: Allows complete impersonation of any ActivityPub actor, enabling:\n - Sending fake posts/messages as any user\n - Creating/removing follows as any user\n - Boosting/sharing content as any user\n - Complete compromise of federation trust model\n\nThe vulnerability affects all Fedify instances but does not propagate to other ActivityPub implementations (Mastodon, etc.) which properly validate before processing.",
"id": "GHSA-6jcc-xgcr-q3h4",
"modified": "2026-02-04T22:13:40Z",
"published": "2025-08-08T14:29:48Z",
"references": [
{
"type": "WEB",
"url": "https://github.com/fedify-dev/fedify/security/advisories/GHSA-6jcc-xgcr-q3h4"
},
{
"type": "ADVISORY",
"url": "https://nvd.nist.gov/vuln/detail/CVE-2025-54888"
},
{
"type": "WEB",
"url": "https://github.com/fedify-dev/fedify/commit/14a2f8c6d2c3cbc00c3170a86ad3b7b8555c6847"
},
{
"type": "PACKAGE",
"url": "https://github.com/fedify-dev/fedify"
}
],
"schema_version": "1.4.0",
"severity": [
{
"score": "CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:H/VA:N/SC:N/SI:N/SA:N",
"type": "CVSS_V4"
}
],
"summary": "@fedify/fedify has Improper Authentication and Incorrect Authorization"
}
GHSA-6JFX-JJM3-94JR
Vulnerability from github – Published: 2022-05-17 05:09 – Updated: 2022-05-17 05:09Cisco Unified Communications Manager (CUCM) does not properly limit the rate of authentication attempts, which allows remote attackers to cause a denial of service (application slowdown) via a series of requests, aka Bug ID CSCud39515.
{
"affected": [],
"aliases": [
"CVE-2013-1188"
],
"database_specific": {
"cwe_ids": [
"CWE-287"
],
"github_reviewed": false,
"github_reviewed_at": null,
"nvd_published_at": "2013-05-16T03:36:00Z",
"severity": "MODERATE"
},
"details": "Cisco Unified Communications Manager (CUCM) does not properly limit the rate of authentication attempts, which allows remote attackers to cause a denial of service (application slowdown) via a series of requests, aka Bug ID CSCud39515.",
"id": "GHSA-6jfx-jjm3-94jr",
"modified": "2022-05-17T05:09:38Z",
"published": "2022-05-17T05:09:38Z",
"references": [
{
"type": "ADVISORY",
"url": "https://nvd.nist.gov/vuln/detail/CVE-2013-1188"
},
{
"type": "WEB",
"url": "http://tools.cisco.com/security/center/content/CiscoSecurityNotice/CVE-2013-1188"
}
],
"schema_version": "1.4.0",
"severity": []
}
GHSA-6JJ3-4QQV-2HHM
Vulnerability from github – Published: 2026-09-15 21:31 – Updated: 2026-09-15 21:31Vulnerability in the Oracle WebCenter Sites product of Oracle Fusion Middleware (component: WebCenter Sites). Supported versions that are affected are 12.2.1.4.0 and 14.1.2.0.0. Easily exploitable vulnerability allows unauthenticated attacker with network access via HTTP to compromise Oracle WebCenter Sites. Successful attacks of this vulnerability can result in takeover of Oracle WebCenter Sites. CVSS 3.1 Base Score 9.8 (Confidentiality, Integrity and Availability impacts). CVSS Vector: (CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H).
{
"affected": [],
"aliases": [
"CVE-2026-83036"
],
"database_specific": {
"cwe_ids": [
"CWE-287"
],
"github_reviewed": false,
"github_reviewed_at": null,
"nvd_published_at": "2026-09-15T20:18:11Z",
"severity": "CRITICAL"
},
"details": "Vulnerability in the Oracle WebCenter Sites product of Oracle Fusion Middleware (component: WebCenter Sites). Supported versions that are affected are 12.2.1.4.0 and 14.1.2.0.0. Easily exploitable vulnerability allows unauthenticated attacker with network access via HTTP to compromise Oracle WebCenter Sites. Successful attacks of this vulnerability can result in takeover of Oracle WebCenter Sites. CVSS 3.1 Base Score 9.8 (Confidentiality, Integrity and Availability impacts). CVSS Vector: (CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H).",
"id": "GHSA-6jj3-4qqv-2hhm",
"modified": "2026-09-15T21:31:46Z",
"published": "2026-09-15T21:31:45Z",
"references": [
{
"type": "ADVISORY",
"url": "https://nvd.nist.gov/vuln/detail/CVE-2026-83036"
},
{
"type": "WEB",
"url": "https://www.oracle.com/security-alerts/cspusep2026.html"
}
],
"schema_version": "1.4.0",
"severity": [
{
"score": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H",
"type": "CVSS_V3"
}
]
}
Mitigation
Strategy: Libraries or Frameworks
Use an authentication framework or library such as the OWASP ESAPI Authentication feature.
CAPEC-114: Authentication Abuse
An attacker obtains unauthorized access to an application, service or device either through knowledge of the inherent weaknesses of an authentication mechanism, or by exploiting a flaw in the authentication scheme's implementation. In such an attack an authentication mechanism is functioning but a carefully controlled sequence of events causes the mechanism to grant access to the attacker.
CAPEC-115: Authentication Bypass
An attacker gains access to application, service, or device with the privileges of an authorized or privileged user by evading or circumventing an authentication mechanism. The attacker is therefore able to access protected data without authentication ever having taken place.
CAPEC-151: Identity Spoofing
Identity Spoofing refers to the action of assuming (i.e., taking on) the identity of some other entity (human or non-human) and then using that identity to accomplish a goal. An adversary may craft messages that appear to come from a different principle or use stolen / spoofed authentication credentials.
CAPEC-194: Fake the Source of Data
An adversary takes advantage of improper authentication to provide data or services under a falsified identity. The purpose of using the falsified identity may be to prevent traceability of the provided data or to assume the rights granted to another individual. One of the simplest forms of this attack would be the creation of an email message with a modified "From" field in order to appear that the message was sent from someone other than the actual sender. The root of the attack (in this case the email system) fails to properly authenticate the source and this results in the reader incorrectly performing the instructed action. Results of the attack vary depending on the details of the attack, but common results include privilege escalation, obfuscation of other attacks, and data corruption/manipulation.
CAPEC-22: Exploiting Trust in Client
An attack of this type exploits vulnerabilities in client/server communication channel authentication and data integrity. It leverages the implicit trust a server places in the client, or more importantly, that which the server believes is the client. An attacker executes this type of attack by communicating directly with the server where the server believes it is communicating only with a valid client. There are numerous variations of this type of attack.
CAPEC-57: Utilizing REST's Trust in the System Resource to Obtain Sensitive Data
This attack utilizes a REST(REpresentational State Transfer)-style applications' trust in the system resources and environment to obtain sensitive data once SSL is terminated.
CAPEC-593: Session Hijacking
This type of attack involves an adversary that exploits weaknesses in an application's use of sessions in performing authentication. The adversary is able to steal or manipulate an active session and use it to gain unathorized access to the application.
CAPEC-633: Token Impersonation
An adversary exploits a weakness in authentication to create an access token (or equivalent) that impersonates a different entity, and then associates a process/thread to that that impersonated token. This action causes a downstream user to make a decision or take action that is based on the assumed identity, and not the response that blocks the adversary.
CAPEC-650: Upload a Web Shell to a Web Server
By exploiting insufficient permissions, it is possible to upload a web shell to a web server in such a way that it can be executed remotely. This shell can have various capabilities, thereby acting as a "gateway" to the underlying web server. The shell might execute at the higher permission level of the web server, providing the ability the execute malicious code at elevated levels.
CAPEC-94: Adversary in the Middle (AiTM)
An adversary targets the communication between two components (typically client and server), in order to alter or obtain data from transactions. A general approach entails the adversary placing themself within the communication channel between the two components.