CVE-2026-117656 (GCVE-0-2026-117656)
Vulnerability from cvelistv5 – Published: 2026-10-30 23:55 – Updated: 2026-10-30 23:55
VLAI
EPSS
VEX
Title
Unverified Sign in with Apple callback parameter can override verified ID token claims
Summary
Acceptance of Extraneous Untrusted Data With Trusted Data vulnerability in the Sign in with Apple strategy in pow-auth Assent allows an unauthenticated remote attacker to impersonate another user via the user parameter of the authorization callback.
Apple posts the user's name to the callback endpoint in a user form parameter that the browser submits and the client controls. Assent.Strategy.Apple.callback/2 in lib/assent/strategies/apple.ex decodes that parameter, and fetch_user/2 merges it over the claims of the verified ID token, so the unverified map wins. An attacker who completes a Sign in with Apple login with their own Apple ID and edits the user parameter can replace sub, email, and any other claim. Applications that look up, link, or authorize accounts by the returned subject or email then act on the attacker's values.
This issue affects assent: from 0.1.25 before 0.3.2.
Severity
CWE
Assigner
References
5 references
| URL | Tags |
|---|---|
| https://github.com/pow-auth/assent/security/advis… | vendor-advisoryrelated |
| https://cna.erlef.org/cves/CVE-2026-117656.html | related |
| https://osv.dev/vulnerability/EEF-CVE-2026-117656 | related |
| https://github.com/pow-auth/assent/commit/a2d331e… | related |
| https://github.com/pow-auth/assent/commit/18898bd… | patch |
Impacted products
{
"containers": {
"cna": {
"affected": [
{
"collectionURL": "https://repo.hex.pm",
"cpes": [
"cpe:2.3:a:pow-auth:assent:*:*:*:*:*:*:*:*"
],
"defaultStatus": "unaffected",
"modules": [
"\u0027Elixir.Assent.Strategy.Apple\u0027"
],
"packageName": "assent",
"packageURL": "pkg:hex/assent",
"product": "assent",
"programFiles": [
"lib/assent/strategies/apple.ex"
],
"programRoutines": [
{
"name": "\u0027Elixir.Assent.Strategy.Apple\u0027:callback/2"
},
{
"name": "\u0027Elixir.Assent.Strategy.Apple\u0027:fetch_user/2"
}
],
"repo": "https://github.com/pow-auth/assent",
"vendor": "pow-auth",
"versions": [
{
"lessThan": "0.3.2",
"status": "affected",
"version": "0.1.25",
"versionType": "semver"
}
]
},
{
"collectionURL": "https://github.com",
"cpes": [
"cpe:2.3:a:pow-auth:assent:*:*:*:*:*:*:*:*"
],
"defaultStatus": "unaffected",
"modules": [
"\u0027Elixir.Assent.Strategy.Apple\u0027"
],
"packageName": "pow-auth/assent",
"packageURL": "pkg:github/pow-auth/assent",
"product": "assent",
"programFiles": [
"lib/assent/strategies/apple.ex"
],
"programRoutines": [
{
"name": "\u0027Elixir.Assent.Strategy.Apple\u0027:callback/2"
},
{
"name": "\u0027Elixir.Assent.Strategy.Apple\u0027:fetch_user/2"
}
],
"repo": "https://github.com/pow-auth/assent",
"vendor": "pow-auth",
"versions": [
{
"lessThan": "18898bde0296152165ae470078490e5798329b1b",
"status": "affected",
"version": "a2d331e8c51376d6c0b04a81aad31e0b4d4d64a3",
"versionType": "git"
}
]
}
],
"cpeApplicability": [
{
"nodes": [
{
"cpeMatch": [
{
"criteria": "cpe:2.3:a:pow-auth:assent:*:*:*:*:*:*:*:*",
"versionEndExcluding": "0.3.2",
"versionStartIncluding": "0.1.25",
"vulnerable": true
}
],
"negate": false,
"operator": "OR"
}
],
"operator": "AND"
}
],
"credits": [
{
"lang": "en",
"type": "finder",
"value": "Iain"
},
{
"lang": "en",
"type": "reporter",
"value": "Iain"
},
{
"lang": "en",
"type": "remediation developer",
"value": "Dan Schultzer"
},
{
"lang": "en",
"type": "remediation verifier",
"value": "Richard Ash"
},
{
"lang": "en",
"type": "coordinator",
"value": "Jonatan M\u00e4nnchen / EEF"
}
],
"dateAssigned": "2026-10-30T23:33:00.000Z",
"descriptions": [
{
"lang": "en",
"supportingMedia": [
{
"base64": false,
"type": "text/html",
"value": "\u003cp\u003eAcceptance of Extraneous Untrusted Data With Trusted Data vulnerability in the Sign in with Apple strategy in pow-auth Assent allows an unauthenticated remote attacker to impersonate another user via the \u003ccode\u003euser\u003c/code\u003e parameter of the authorization callback.\u003c/p\u003e\n\u003cp\u003eApple posts the user\u0027s name to the callback endpoint in a \u003ccode\u003euser\u003c/code\u003e form parameter that the browser submits and the client controls. \u003ccode\u003eAssent.Strategy.Apple.callback/2\u003c/code\u003e in \u003ccode\u003elib/assent/strategies/apple.ex\u003c/code\u003e decodes that parameter, and \u003ccode\u003efetch_user/2\u003c/code\u003e merges it over the claims of the verified ID token, so the unverified map wins. An attacker who completes a Sign in with Apple login with their own Apple ID and edits the \u003ccode\u003euser\u003c/code\u003e parameter can replace \u003ccode\u003esub\u003c/code\u003e, \u003ccode\u003eemail\u003c/code\u003e, and any other claim. Applications that look up, link, or authorize accounts by the returned subject or email then act on the attacker\u0027s values.\u003c/p\u003e\n\u003cp\u003eThis issue affects assent: from 0.1.25 before 0.3.2.\u003c/p\u003e"
},
{
"base64": false,
"type": "text/markdown",
"value": "Acceptance of Extraneous Untrusted Data With Trusted Data vulnerability in the Sign in with Apple strategy in pow-auth Assent allows an unauthenticated remote attacker to impersonate another user via the `user` parameter of the authorization callback.\n\nApple posts the user\u0027s name to the callback endpoint in a `user` form parameter that the browser submits and the client controls. `Assent.Strategy.Apple.callback/2` in `lib/assent/strategies/apple.ex` decodes that parameter, and `fetch_user/2` merges it over the claims of the verified ID token, so the unverified map wins. An attacker who completes a Sign in with Apple login with their own Apple ID and edits the `user` parameter can replace `sub`, `email`, and any other claim. Applications that look up, link, or authorize accounts by the returned subject or email then act on the attacker\u0027s values.\n\nThis issue affects assent: from 0.1.25 before 0.3.2."
}
],
"value": "Acceptance of Extraneous Untrusted Data With Trusted Data vulnerability in the Sign in with Apple strategy in pow-auth Assent allows an unauthenticated remote attacker to impersonate another user via the user parameter of the authorization callback.\n\nApple posts the user\u0027s name to the callback endpoint in a user form parameter that the browser submits and the client controls. Assent.Strategy.Apple.callback/2 in lib/assent/strategies/apple.ex decodes that parameter, and fetch_user/2 merges it over the claims of the verified ID token, so the unverified map wins. An attacker who completes a Sign in with Apple login with their own Apple ID and edits the user parameter can replace sub, email, and any other claim. Applications that look up, link, or authorize accounts by the returned subject or email then act on the attacker\u0027s values.\n\nThis issue affects assent: from 0.1.25 before 0.3.2."
}
],
"impacts": [
{
"capecId": "CAPEC-22",
"descriptions": [
{
"lang": "en",
"supportingMedia": [
{
"base64": false,
"type": "text/html",
"value": "\u003cp\u003eAn attacker with any Apple ID can sign in to an application that uses the Apple strategy as any other user whose Apple subject or email they know. Account lookup, account linking, and email-based access control then act on the attacker-chosen identity.\u003c/p\u003e"
},
{
"base64": false,
"type": "text/markdown",
"value": "An attacker with any Apple ID can sign in to an application that uses the Apple strategy as any other user whose Apple subject or email they know. Account lookup, account linking, and email-based access control then act on the attacker-chosen identity."
}
],
"value": "An attacker with any Apple ID can sign in to an application that uses the Apple strategy as any other user whose Apple subject or email they know. Account lookup, account linking, and email-based access control then act on the attacker-chosen identity."
}
]
}
],
"metrics": [
{
"cvssV4_0": {
"Automatable": "NOT_DEFINED",
"Recovery": "NOT_DEFINED",
"Safety": "NOT_DEFINED",
"attackComplexity": "LOW",
"attackRequirements": "NONE",
"attackVector": "NETWORK",
"baseScore": 9.3,
"baseSeverity": "CRITICAL",
"privilegesRequired": "NONE",
"providerUrgency": "NOT_DEFINED",
"subAvailabilityImpact": "NONE",
"subConfidentialityImpact": "NONE",
"subIntegrityImpact": "NONE",
"userInteraction": "NONE",
"valueDensity": "NOT_DEFINED",
"vectorString": "CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:H/VA:N/SC:N/SI:N/SA:N",
"version": "4.0",
"vulnAvailabilityImpact": "NONE",
"vulnConfidentialityImpact": "HIGH",
"vulnIntegrityImpact": "HIGH",
"vulnerabilityResponseEffort": "NOT_DEFINED"
},
"format": "CVSS",
"scenarios": [
{
"lang": "en",
"value": "GENERAL"
}
]
}
],
"problemTypes": [
{
"descriptions": [
{
"cweId": "CWE-290",
"description": "CWE-290 Authentication Bypass by Spoofing",
"lang": "en",
"type": "CWE"
}
]
},
{
"descriptions": [
{
"cweId": "CWE-349",
"description": "CWE-349 Acceptance of Extraneous Untrusted Data With Trusted Data",
"lang": "en",
"type": "CWE"
}
]
}
],
"providerMetadata": {
"dateUpdated": "2026-10-30T23:55:23.426Z",
"orgId": "6b3ad84c-e1a6-4bf7-a703-f496b71e49db",
"shortName": "EEF"
},
"references": [
{
"name": "Unverified Sign in with Apple callback parameter can override verified ID token claims",
"tags": [
"vendor-advisory",
"related"
],
"url": "https://github.com/pow-auth/assent/security/advisories/GHSA-9fr5-g44g-9526"
},
{
"name": "EEF CNA record for CVE-2026-117656",
"tags": [
"related"
],
"url": "https://cna.erlef.org/cves/CVE-2026-117656.html"
},
{
"name": "OSV record EEF-CVE-2026-117656",
"tags": [
"related"
],
"url": "https://osv.dev/vulnerability/EEF-CVE-2026-117656"
},
{
"name": "Introducing commit a2d331e in pow-auth/assent",
"tags": [
"related"
],
"url": "https://github.com/pow-auth/assent/commit/a2d331e8c51376d6c0b04a81aad31e0b4d4d64a3"
},
{
"name": "Fix commit 18898bd in pow-auth/assent",
"tags": [
"patch"
],
"url": "https://github.com/pow-auth/assent/commit/18898bde0296152165ae470078490e5798329b1b"
}
],
"source": {
"discovery": "EXTERNAL"
},
"title": "Unverified Sign in with Apple callback parameter can override verified ID token claims",
"workarounds": [
{
"lang": "en",
"supportingMedia": [
{
"base64": false,
"type": "text/html",
"value": "\u003cp\u003eRemove the \u003ccode\u003euser\u003c/code\u003e parameter from the callback parameters before you pass them to \u003ccode\u003eAssent.Strategy.Apple.callback/2\u003c/code\u003e, for example with \u003ccode\u003eMap.delete(params, \"user\")\u003c/code\u003e. Without the parameter, \u003ccode\u003edecode_user_params/2\u003c/code\u003e yields an empty map and the verified ID token claims pass through unchanged. The user\u0027s name is then unavailable, because Apple delivers it only through this parameter.\u003c/p\u003e"
},
{
"base64": false,
"type": "text/markdown",
"value": "Remove the `user` parameter from the callback parameters before you pass them to `Assent.Strategy.Apple.callback/2`, for example with `Map.delete(params, \"user\")`. Without the parameter, `decode_user_params/2` yields an empty map and the verified ID token claims pass through unchanged. The user\u0027s name is then unavailable, because Apple delivers it only through this parameter."
}
],
"value": "Remove the user parameter from the callback parameters before you pass them to Assent.Strategy.Apple.callback/2, for example with Map.delete(params, \"user\"). Without the parameter, decode_user_params/2 yields an empty map and the verified ID token claims pass through unchanged. The user\u0027s name is then unavailable, because Apple delivers it only through this parameter."
}
],
"x_proofOfConcept": [
{
"lang": "en",
"supportingMedia": [
{
"base64": false,
"type": "text/html",
"value": "\u003col\u003e\n\u003cli\u003eStart the Sign in with Apple flow of an application that uses \u003ccode\u003eAssent.Strategy.Apple\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eAuthenticate at Apple with an Apple ID the attacker controls.\u003c/li\u003e\n\u003cli\u003eIntercept the \u003ccode\u003eform_post\u003c/code\u003e request to the application\u0027s callback URL and set the \u003ccode\u003euser\u003c/code\u003e parameter to a JSON object that carries the victim\u0027s values, such as \u003ccode\u003e{\"sub\": \"\u0026lt;victim subject\u0026gt;\", \"email\": \"victim@example.com\"}\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eThe application calls \u003ccode\u003eAssent.Strategy.Apple.callback/2\u003c/code\u003e. It validates the attacker\u0027s ID token and returns a user map whose \u003ccode\u003esub\u003c/code\u003e and \u003ccode\u003eemail\u003c/code\u003e are the victim\u0027s values, with \u003ccode\u003eemail_verified\u003c/code\u003e set to true.\u003c/li\u003e\n\u003c/ol\u003e"
},
{
"base64": false,
"type": "text/markdown",
"value": "1. Start the Sign in with Apple flow of an application that uses `Assent.Strategy.Apple`.\n2. Authenticate at Apple with an Apple ID the attacker controls.\n3. Intercept the `form_post` request to the application\u0027s callback URL and set the `user` parameter to a JSON object that carries the victim\u0027s values, such as `{\"sub\": \"\u003cvictim subject\u003e\", \"email\": \"victim@example.com\"}`.\n4. The application calls `Assent.Strategy.Apple.callback/2`. It validates the attacker\u0027s ID token and returns a user map whose `sub` and `email` are the victim\u0027s values, with `email_verified` set to true."
}
],
"value": "* Start the Sign in with Apple flow of an application that uses Assent.Strategy.Apple.\n* Authenticate at Apple with an Apple ID the attacker controls.\n* Intercept the form_post request to the application\u0027s callback URL and set the user parameter to a JSON object that carries the victim\u0027s values, such as {\"sub\": \"\u003cvictim subject\u003e\", \"email\": \"victim@example.com\"}.\n* The application calls Assent.Strategy.Apple.callback/2. It validates the attacker\u0027s ID token and returns a user map whose sub and email are the victim\u0027s values, with email_verified set to true."
}
],
"x_technicalAnalysis": [
{
"lang": "en",
"supportingMedia": [
{
"base64": false,
"type": "text/html",
"value": "\u003cp\u003e\u003cstrong\u003e1. Unverified input.\u003c/strong\u003e Apple\u0027s \u003ccode\u003eform_post\u003c/code\u003e response mode delivers \u003ccode\u003ecode\u003c/code\u003e, \u003ccode\u003eid_token\u003c/code\u003e, \u003ccode\u003estate\u003c/code\u003e, and on the first authorization a \u003ccode\u003euser\u003c/code\u003e parameter that holds a JSON object with the user\u0027s name and email. The browser submits this parameter and Apple does not sign it, so the client controls its content.\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003e2. Merge over verified claims.\u003c/strong\u003e \u003ccode\u003eAssent.Strategy.Apple.callback/2\u003c/code\u003e decodes the \u003ccode\u003euser\u003c/code\u003e parameter with \u003ccode\u003eHelpers.decode_json/2\u003c/code\u003e and stores the map in the config under \u003ccode\u003e:user\u003c/code\u003e. After \u003ccode\u003eAssent.Strategy.OIDC.fetch_user/2\u003c/code\u003e has validated the ID token, \u003ccode\u003eAssent.Strategy.Apple.fetch_user/2\u003c/code\u003e calls \u003ccode\u003eMap.merge/2\u003c/code\u003e with the verified claims first and the decoded parameter second. Keys from the parameter overwrite keys from the token, including \u003ccode\u003esub\u003c/code\u003e and \u003ccode\u003eemail\u003c/code\u003e.\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003e3. Result.\u003c/strong\u003e \u003ccode\u003enormalize/2\u003c/code\u003e reads \u003ccode\u003esub\u003c/code\u003e and \u003ccode\u003eemail\u003c/code\u003e from the merged map and sets \u003ccode\u003eemail_verified\u003c/code\u003e to true, so the application receives attacker-chosen identity fields marked as verified.\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003e4. Fix.\u003c/strong\u003e Version 0.3.2 ignores the parameter by default. With \u003ccode\u003einclude_unverified_name: true\u003c/code\u003e, only \u003ccode\u003egiven_name\u003c/code\u003e and \u003ccode\u003efamily_name\u003c/code\u003e are taken from it, and the verified claims are merged over them.\u003c/p\u003e"
},
{
"base64": false,
"type": "text/markdown",
"value": "**1. Unverified input.** Apple\u0027s `form_post` response mode delivers `code`, `id_token`, `state`, and on the first authorization a `user` parameter that holds a JSON object with the user\u0027s name and email. The browser submits this parameter and Apple does not sign it, so the client controls its content.\n\n**2. Merge over verified claims.** `Assent.Strategy.Apple.callback/2` decodes the `user` parameter with `Helpers.decode_json/2` and stores the map in the config under `:user`. After `Assent.Strategy.OIDC.fetch_user/2` has validated the ID token, `Assent.Strategy.Apple.fetch_user/2` calls `Map.merge/2` with the verified claims first and the decoded parameter second. Keys from the parameter overwrite keys from the token, including `sub` and `email`.\n\n**3. Result.** `normalize/2` reads `sub` and `email` from the merged map and sets `email_verified` to true, so the application receives attacker-chosen identity fields marked as verified.\n\n**4. Fix.** Version 0.3.2 ignores the parameter by default. With `include_unverified_name: true`, only `given_name` and `family_name` are taken from it, and the verified claims are merged over them."
}
],
"value": "1. Unverified input. Apple\u0027s form_post response mode delivers code, id_token, state, and on the first authorization a user parameter that holds a JSON object with the user\u0027s name and email. The browser submits this parameter and Apple does not sign it, so the client controls its content.\n\n2. Merge over verified claims. Assent.Strategy.Apple.callback/2 decodes the user parameter with Helpers.decode_json/2 and stores the map in the config under :user. After Assent.Strategy.OIDC.fetch_user/2 has validated the ID token, Assent.Strategy.Apple.fetch_user/2 calls Map.merge/2 with the verified claims first and the decoded parameter second. Keys from the parameter overwrite keys from the token, including sub and email.\n\n3. Result. normalize/2 reads sub and email from the merged map and sets email_verified to true, so the application receives attacker-chosen identity fields marked as verified.\n\n4. Fix. Version 0.3.2 ignores the parameter by default. With include_unverified_name: true, only given_name and family_name are taken from it, and the verified claims are merged over them."
}
]
}
},
"cveMetadata": {
"assignerOrgId": "6b3ad84c-e1a6-4bf7-a703-f496b71e49db",
"assignerShortName": "EEF",
"cveId": "CVE-2026-117656",
"datePublished": "2026-10-30T23:55:23.426Z",
"dateReserved": "2026-10-30T23:30:02.017Z",
"dateUpdated": "2026-10-30T23:55:23.426Z",
"state": "PUBLISHED"
},
"dataType": "CVE_RECORD",
"dataVersion": "5.2",
"vulnerability-lookup:meta": {
"nvd": {
"cve": {
"affected": [
{
"affectedData": [
{
"collectionURL": "https://repo.hex.pm",
"cpes": [
"cpe:2.3:a:pow-auth:assent:*:*:*:*:*:*:*:*"
],
"defaultStatus": "unaffected",
"modules": [
"\u0027Elixir.Assent.Strategy.Apple\u0027"
],
"packageName": "assent",
"packageURL": "pkg:hex/assent",
"product": "assent",
"programFiles": [
"lib/assent/strategies/apple.ex"
],
"programRoutines": [
{
"name": "\u0027Elixir.Assent.Strategy.Apple\u0027:callback/2"
},
{
"name": "\u0027Elixir.Assent.Strategy.Apple\u0027:fetch_user/2"
}
],
"repo": "https://github.com/pow-auth/assent",
"vendor": "pow-auth",
"versions": [
{
"lessThan": "0.3.2",
"status": "affected",
"version": "0.1.25",
"versionType": "semver"
}
]
},
{
"collectionURL": "https://github.com",
"cpes": [
"cpe:2.3:a:pow-auth:assent:*:*:*:*:*:*:*:*"
],
"defaultStatus": "unaffected",
"modules": [
"\u0027Elixir.Assent.Strategy.Apple\u0027"
],
"packageName": "pow-auth/assent",
"packageURL": "pkg:github/pow-auth/assent",
"product": "assent",
"programFiles": [
"lib/assent/strategies/apple.ex"
],
"programRoutines": [
{
"name": "\u0027Elixir.Assent.Strategy.Apple\u0027:callback/2"
},
{
"name": "\u0027Elixir.Assent.Strategy.Apple\u0027:fetch_user/2"
}
],
"repo": "https://github.com/pow-auth/assent",
"vendor": "pow-auth",
"versions": [
{
"lessThan": "18898bde0296152165ae470078490e5798329b1b",
"status": "affected",
"version": "a2d331e8c51376d6c0b04a81aad31e0b4d4d64a3",
"versionType": "git"
}
]
}
],
"source": "6b3ad84c-e1a6-4bf7-a703-f496b71e49db"
}
],
"cveTags": [],
"descriptions": [
{
"lang": "en",
"value": "Acceptance of Extraneous Untrusted Data With Trusted Data vulnerability in the Sign in with Apple strategy in pow-auth Assent allows an unauthenticated remote attacker to impersonate another user via the user parameter of the authorization callback.\n\nApple posts the user\u0027s name to the callback endpoint in a user form parameter that the browser submits and the client controls. Assent.Strategy.Apple.callback/2 in lib/assent/strategies/apple.ex decodes that parameter, and fetch_user/2 merges it over the claims of the verified ID token, so the unverified map wins. An attacker who completes a Sign in with Apple login with their own Apple ID and edits the user parameter can replace sub, email, and any other claim. Applications that look up, link, or authorize accounts by the returned subject or email then act on the attacker\u0027s values.\n\nThis issue affects assent: from 0.1.25 before 0.3.2."
}
],
"id": "CVE-2026-117656",
"lastModified": "2026-10-31T00:16:51.340",
"metrics": {
"cvssMetricV40": [
{
"cvssData": {
"Automatable": "NOT_DEFINED",
"Recovery": "NOT_DEFINED",
"Safety": "NOT_DEFINED",
"attackComplexity": "LOW",
"attackRequirements": "NONE",
"attackVector": "NETWORK",
"availabilityRequirement": "NOT_DEFINED",
"baseScore": 9.3,
"baseSeverity": "CRITICAL",
"confidentialityRequirement": "NOT_DEFINED",
"exploitMaturity": "NOT_DEFINED",
"integrityRequirement": "NOT_DEFINED",
"modifiedAttackComplexity": "NOT_DEFINED",
"modifiedAttackRequirements": "NOT_DEFINED",
"modifiedAttackVector": "NOT_DEFINED",
"modifiedPrivilegesRequired": "NOT_DEFINED",
"modifiedSubAvailabilityImpact": "NOT_DEFINED",
"modifiedSubConfidentialityImpact": "NOT_DEFINED",
"modifiedSubIntegrityImpact": "NOT_DEFINED",
"modifiedUserInteraction": "NOT_DEFINED",
"modifiedVulnAvailabilityImpact": "NOT_DEFINED",
"modifiedVulnConfidentialityImpact": "NOT_DEFINED",
"modifiedVulnIntegrityImpact": "NOT_DEFINED",
"privilegesRequired": "NONE",
"providerUrgency": "NOT_DEFINED",
"subAvailabilityImpact": "NONE",
"subConfidentialityImpact": "NONE",
"subIntegrityImpact": "NONE",
"userInteraction": "NONE",
"valueDensity": "NOT_DEFINED",
"vectorString": "CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:H/VA:N/SC:N/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X",
"version": "4.0",
"vulnAvailabilityImpact": "NONE",
"vulnConfidentialityImpact": "HIGH",
"vulnIntegrityImpact": "HIGH",
"vulnerabilityResponseEffort": "NOT_DEFINED"
},
"source": "6b3ad84c-e1a6-4bf7-a703-f496b71e49db",
"type": "Secondary"
}
]
},
"published": "2026-10-31T00:16:51.340",
"references": [
{
"source": "6b3ad84c-e1a6-4bf7-a703-f496b71e49db",
"url": "https://cna.erlef.org/cves/CVE-2026-117656.html"
},
{
"source": "6b3ad84c-e1a6-4bf7-a703-f496b71e49db",
"url": "https://github.com/pow-auth/assent/commit/18898bde0296152165ae470078490e5798329b1b"
},
{
"source": "6b3ad84c-e1a6-4bf7-a703-f496b71e49db",
"url": "https://github.com/pow-auth/assent/commit/a2d331e8c51376d6c0b04a81aad31e0b4d4d64a3"
},
{
"source": "6b3ad84c-e1a6-4bf7-a703-f496b71e49db",
"url": "https://github.com/pow-auth/assent/security/advisories/GHSA-9fr5-g44g-9526"
},
{
"source": "6b3ad84c-e1a6-4bf7-a703-f496b71e49db",
"url": "https://osv.dev/vulnerability/EEF-CVE-2026-117656"
}
],
"sourceIdentifier": "6b3ad84c-e1a6-4bf7-a703-f496b71e49db",
"vulnStatus": "Received",
"weaknesses": [
{
"description": [
{
"lang": "en",
"value": "CWE-290"
},
{
"lang": "en",
"value": "CWE-349"
}
],
"source": "6b3ad84c-e1a6-4bf7-a703-f496b71e49db",
"type": "Secondary"
}
]
}
}
}
}
Loading…
Loading…
Drag nodes to arrange them. Double-click a related vulnerability to open it, or a source to visit its link. The Physics button on the left tunes the layout and the simulation; the legend at the bottom left hides or shows nodes by kind and by sighting type.
Experimental. This forecast is provided for visualization only and may change without notice. Do not use it for operational decisions.
Forecast uses a logistic model when the trend is rising, or an exponential decay model when the trend is falling. Fitted via linearized least squares.
Sightings
| Author | Source | Type | Date | Other |
|---|
Nomenclature
- Seen: The vulnerability was mentioned, discussed, or observed by the user.
- Confirmed: The vulnerability has been validated from an analyst's perspective.
- Published Proof of Concept: A public proof of concept is available for this vulnerability.
- Exploited: The vulnerability was observed as exploited by the user who reported the sighting.
- Patched: The vulnerability was observed as successfully patched by the user who reported the sighting.
- Not exploited: The vulnerability was not observed as exploited by the user who reported the sighting.
- Not confirmed: The user expressed doubt about the validity of the vulnerability.
- Not patched: The vulnerability was not observed as successfully patched by the user who reported the sighting.
Vulnerability timeline
Sightings and recorded dates, grouped by day · UTC
Loading timeline…
Loading…
Loading…
The MITRE ATT&CK techniques below are AI-generated suggestions, inferred from the description of the
vulnerability by the CIRCL/vulnerability-attack-technique-classification-roberta-base
model, served locally by ML-Gateway.
They have not been verified by an analyst and are provided for guidance only.
The approach is described in our paper Mapping CVEs to MITRE ATT&CK Techniques: A Curated Gold-Set Classifier and the Limits of LLM-Assisted Label Expansion.
Browse all ATT&CK techniques and the vulnerabilities related to each.
The approach is described in our paper Mapping CVEs to MITRE ATT&CK Techniques: A Curated Gold-Set Classifier and the Limits of LLM-Assisted Label Expansion.
Browse all ATT&CK techniques and the vulnerabilities related to each.
Loading…
Related by attack behaviour
Vulnerabilities whose description is nearest to this one in the vector space of the CIRCL/vulnerability-attack-technique-biencoder model. This is a similarity search over the bi-encoder space (plain cosine), not a classification, and it has no measured accuracy.