CWE-639
AllowedAuthorization Bypass Through User-Controlled Key
Abstraction: Base · Status: Incomplete
The system's authorization functionality does not prevent one user from gaining access to another user's data or record by modifying the key value identifying the data.
5262 vulnerabilities reference this CWE, most recent first.
CVE-2026-89252 (GCVE-0-2026-89252)
Vulnerability from cvelistv5 – Published: 2026-09-11 11:15 – Updated: 2026-09-15 16:12- CWE-639 - Authorization Bypass Through User-Controlled Key
| URL | Tags |
|---|---|
| https://github.com/WWBN/AVideo/security/advisorie… | vendor-advisory |
| https://www.vulncheck.com/advisories/avideo-missi… | third-party-advisory |
{
"containers": {
"adp": [
{
"metrics": [
{
"other": {
"content": {
"id": "CVE-2026-89252",
"options": [
{
"Exploitation": "poc"
},
{
"Automatable": "no"
},
{
"Technical Impact": "partial"
}
],
"role": "CISA Coordinator",
"timestamp": "2026-09-15T16:12:05.497999Z",
"version": "2.0.3"
},
"type": "ssvc"
}
}
],
"providerMetadata": {
"dateUpdated": "2026-09-15T16:12:27.995Z",
"orgId": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
"shortName": "CISA-ADP"
},
"references": [
{
"tags": [
"exploit"
],
"url": "https://github.com/WWBN/AVideo/security/advisories/GHSA-m2c6-f5ww-j26v"
}
],
"title": "CISA ADP Vulnrichment"
}
],
"cna": {
"affected": [
{
"defaultStatus": "unaffected",
"product": "AVideo",
"vendor": "WWBN",
"versions": [
{
"lessThanOrEqual": "c3edcc274c389816d434acadac07ee78eaf330c1",
"status": "affected",
"version": "0",
"versionType": "git"
}
]
}
],
"cpeApplicability": [
{
"nodes": [
{
"cpeMatch": [
{
"criteria": "cpe:2.3:a:wwbn:avideo:-:*:*:*:*:*:*:*",
"vulnerable": true
}
],
"negate": false,
"operator": "OR"
}
]
}
],
"credits": [
{
"lang": "en",
"type": "reporter",
"value": "santhreal"
}
],
"datePublic": "2026-08-27T00:00:00.000Z",
"descriptions": [
{
"lang": "en",
"value": "AVideo through commit c3edcc274c389816d434acadac07ee78eaf330c1 fails to verify ownership in addLiveLink.php when updating LiveLinks, allowing authenticated users to modify other users\u0027 links. A canStream user can overwrite another user\u0027s LiveLink HLS source and metadata by supplying an existing linkId, redirecting viewers to attacker-controlled media."
}
],
"metrics": [
{
"cvssV4_0": {
"attackComplexity": "LOW",
"attackRequirements": "NONE",
"attackVector": "NETWORK",
"baseScore": 7.1,
"baseSeverity": "HIGH",
"privilegesRequired": "LOW",
"subAvailabilityImpact": "NONE",
"subConfidentialityImpact": "NONE",
"subIntegrityImpact": "NONE",
"userInteraction": "NONE",
"vectorString": "CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:N/VI:H/VA:N/SC:N/SI:N/SA:N",
"version": "4.0",
"vulnAvailabilityImpact": "NONE",
"vulnConfidentialityImpact": "NONE",
"vulnIntegrityImpact": "HIGH"
},
"format": "CVSS"
},
{
"cvssV3_1": {
"attackComplexity": "LOW",
"attackVector": "NETWORK",
"availabilityImpact": "NONE",
"baseScore": 6.5,
"baseSeverity": "MEDIUM",
"confidentialityImpact": "NONE",
"integrityImpact": "HIGH",
"privilegesRequired": "LOW",
"scope": "UNCHANGED",
"userInteraction": "NONE",
"vectorString": "CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:H/A:N",
"version": "3.1"
},
"format": "CVSS"
}
],
"problemTypes": [
{
"descriptions": [
{
"cweId": "CWE-639",
"description": "Authorization Bypass Through User-Controlled Key",
"lang": "en",
"type": "CWE"
}
]
}
],
"providerMetadata": {
"dateUpdated": "2026-09-11T11:15:30.163Z",
"orgId": "83251b91-4cc7-4094-a5c7-464a1b83ea10",
"shortName": "VulnCheck"
},
"references": [
{
"name": "GitHub Security Advisory (GHSA-m2c6-f5ww-j26v)",
"tags": [
"vendor-advisory"
],
"url": "https://github.com/WWBN/AVideo/security/advisories/GHSA-m2c6-f5ww-j26v"
},
{
"name": "VulnCheck Advisory: AVideo Missing Authorization in addLiveLink.php LiveLink Update",
"tags": [
"third-party-advisory"
],
"url": "https://www.vulncheck.com/advisories/avideo-missing-authorization-in-addlivelink-php-livelink-update"
}
],
"title": "AVideo Missing Authorization in addLiveLink.php LiveLink Update",
"x_generator": {
"engine": "vulncheck-endgame"
}
}
},
"cveMetadata": {
"assignerOrgId": "83251b91-4cc7-4094-a5c7-464a1b83ea10",
"assignerShortName": "VulnCheck",
"cveId": "CVE-2026-89252",
"datePublished": "2026-09-11T11:15:30.163Z",
"dateReserved": "2026-09-11T10:51:59.215Z",
"dateUpdated": "2026-09-15T16:12:27.995Z",
"state": "PUBLISHED"
},
"dataType": "CVE_RECORD",
"dataVersion": "5.2"
}
CVE-2026-89204 (GCVE-0-2026-89204)
Vulnerability from cvelistv5 – Published: 2026-10-13 09:19 – Updated: 2026-10-13 16:20- CWE-639 - Authorization Bypass Through User-Controlled Key
| Vendor | Product | Version | |
|---|---|---|---|
| Siemens | RUGGEDCOM CROSSBOW |
Affected:
0 , < V6.0
(custom)
|
{
"containers": {
"adp": [
{
"metrics": [
{
"other": {
"content": {
"id": "CVE-2026-89204",
"options": [
{
"Exploitation": "none"
},
{
"Automatable": "no"
},
{
"Technical Impact": "partial"
}
],
"role": "CISA Coordinator",
"timestamp": "2026-10-13T15:49:09.830394Z",
"version": "2.0.3"
},
"type": "ssvc"
}
}
],
"providerMetadata": {
"dateUpdated": "2026-10-13T16:20:07.151Z",
"orgId": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
"shortName": "CISA-ADP"
},
"title": "CISA ADP Vulnrichment"
}
],
"cna": {
"affected": [
{
"defaultStatus": "unknown",
"product": "RUGGEDCOM CROSSBOW",
"vendor": "Siemens",
"versions": [
{
"lessThan": "V6.0",
"status": "affected",
"version": "0",
"versionType": "custom"
}
]
}
],
"descriptions": [
{
"lang": "en",
"value": "A vulnerability has been identified in RUGGEDCOM CROSSBOW (All versions \u003c V6.0). Affected devices do not properly restrict access to database queries used for subnet management. This could allow an authenticated attacker to read, modify, or delete subnet configurations, leading to unauthorized information disclosure and data manipulation."
}
],
"metrics": [
{
"cvssV3_1": {
"baseScore": 5.4,
"baseSeverity": "MEDIUM",
"vectorString": "CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:L/I:L/A:N",
"version": "3.1"
}
},
{
"cvssV4_0": {
"baseScore": 5.3,
"baseSeverity": "MEDIUM",
"vectorString": "CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:L/VI:L/VA:N/SC:N/SI:N/SA:N",
"version": "4.0"
}
}
],
"problemTypes": [
{
"descriptions": [
{
"cweId": "CWE-639",
"description": "CWE-639: Authorization Bypass Through User-Controlled Key",
"lang": "en",
"type": "CWE"
}
]
}
],
"providerMetadata": {
"dateUpdated": "2026-10-13T09:19:08.604Z",
"orgId": "cec7a2ec-15b4-4faf-bd53-b40f371f3a77",
"shortName": "siemens"
},
"references": [
{
"url": "https://cert-portal.siemens.com/productcert/html/ssa-508506.html"
}
]
}
},
"cveMetadata": {
"assignerOrgId": "cec7a2ec-15b4-4faf-bd53-b40f371f3a77",
"assignerShortName": "siemens",
"cveId": "CVE-2026-89204",
"datePublished": "2026-10-13T09:19:08.604Z",
"dateReserved": "2026-09-11T07:45:20.919Z",
"dateUpdated": "2026-10-13T16:20:07.151Z",
"state": "PUBLISHED"
},
"dataType": "CVE_RECORD",
"dataVersion": "5.2"
}
CVE-2026-89202 (GCVE-0-2026-89202)
Vulnerability from cvelistv5 – Published: 2026-10-13 09:19 – Updated: 2026-10-16 17:17- CWE-639 - Authorization Bypass Through User-Controlled Key
| Vendor | Product | Version | |
|---|---|---|---|
| Siemens | RUGGEDCOM CROSSBOW |
Affected:
0 , < V6.0
(custom)
|
{
"containers": {
"adp": [
{
"metrics": [
{
"other": {
"content": {
"id": "CVE-2026-89202",
"options": [
{
"Exploitation": "none"
},
{
"Automatable": "no"
},
{
"Technical Impact": "partial"
}
],
"role": "CISA Coordinator",
"timestamp": "2026-10-16T17:01:46.556256Z",
"version": "2.0.3"
},
"type": "ssvc"
}
}
],
"providerMetadata": {
"dateUpdated": "2026-10-16T17:17:49.500Z",
"orgId": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
"shortName": "CISA-ADP"
},
"title": "CISA ADP Vulnrichment"
}
],
"cna": {
"affected": [
{
"defaultStatus": "unknown",
"product": "RUGGEDCOM CROSSBOW",
"vendor": "Siemens",
"versions": [
{
"lessThan": "V6.0",
"status": "affected",
"version": "0",
"versionType": "custom"
}
]
}
],
"descriptions": [
{
"lang": "en",
"value": "A vulnerability has been identified in RUGGEDCOM CROSSBOW (All versions \u003c V6.0). Affected devices do not properly perform authorization checks for device disconnection requests. This could allow an authenticated attacker with minimal privileges to disconnect active sessions of other users, including administrators, leading to a denial of service."
}
],
"metrics": [
{
"cvssV3_1": {
"baseScore": 6.5,
"baseSeverity": "MEDIUM",
"vectorString": "CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H",
"version": "3.1"
}
},
{
"cvssV4_0": {
"baseScore": 7.1,
"baseSeverity": "HIGH",
"vectorString": "CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N",
"version": "4.0"
}
}
],
"problemTypes": [
{
"descriptions": [
{
"cweId": "CWE-639",
"description": "CWE-639: Authorization Bypass Through User-Controlled Key",
"lang": "en",
"type": "CWE"
}
]
}
],
"providerMetadata": {
"dateUpdated": "2026-10-13T09:19:06.397Z",
"orgId": "cec7a2ec-15b4-4faf-bd53-b40f371f3a77",
"shortName": "siemens"
},
"references": [
{
"url": "https://cert-portal.siemens.com/productcert/html/ssa-508506.html"
}
]
}
},
"cveMetadata": {
"assignerOrgId": "cec7a2ec-15b4-4faf-bd53-b40f371f3a77",
"assignerShortName": "siemens",
"cveId": "CVE-2026-89202",
"datePublished": "2026-10-13T09:19:06.397Z",
"dateReserved": "2026-09-11T07:45:20.919Z",
"dateUpdated": "2026-10-16T17:17:49.500Z",
"state": "PUBLISHED"
},
"dataType": "CVE_RECORD",
"dataVersion": "5.2"
}
CVE-2026-89199 (GCVE-0-2026-89199)
Vulnerability from cvelistv5 – Published: 2026-10-13 09:19 – Updated: 2026-10-13 16:20- CWE-639 - Authorization Bypass Through User-Controlled Key
| Vendor | Product | Version | |
|---|---|---|---|
| Siemens | RUGGEDCOM CROSSBOW |
Affected:
0 , < V6.0
(custom)
|
{
"containers": {
"adp": [
{
"metrics": [
{
"other": {
"content": {
"id": "CVE-2026-89199",
"options": [
{
"Exploitation": "none"
},
{
"Automatable": "no"
},
{
"Technical Impact": "total"
}
],
"role": "CISA Coordinator",
"timestamp": "2026-10-13T15:49:43.544073Z",
"version": "2.0.3"
},
"type": "ssvc"
}
}
],
"providerMetadata": {
"dateUpdated": "2026-10-13T16:20:07.271Z",
"orgId": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
"shortName": "CISA-ADP"
},
"title": "CISA ADP Vulnrichment"
}
],
"cna": {
"affected": [
{
"defaultStatus": "unknown",
"product": "RUGGEDCOM CROSSBOW",
"vendor": "Siemens",
"versions": [
{
"lessThan": "V6.0",
"status": "affected",
"version": "0",
"versionType": "custom"
}
]
}
],
"descriptions": [
{
"lang": "en",
"value": "A vulnerability has been identified in RUGGEDCOM CROSSBOW (All versions \u003c V6.0). Affected devices do not properly restrict access to sensitive configuration items via specific database queries. This could allow an authenticated attacker to retrieve administrative credentials for various internal systems, leading to unauthorized information disclosure and privilege escalation."
}
],
"metrics": [
{
"cvssV3_1": {
"baseScore": 8.8,
"baseSeverity": "HIGH",
"vectorString": "CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H",
"version": "3.1"
}
},
{
"cvssV4_0": {
"baseScore": 8.7,
"baseSeverity": "HIGH",
"vectorString": "CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N",
"version": "4.0"
}
}
],
"problemTypes": [
{
"descriptions": [
{
"cweId": "CWE-639",
"description": "CWE-639: Authorization Bypass Through User-Controlled Key",
"lang": "en",
"type": "CWE"
}
]
}
],
"providerMetadata": {
"dateUpdated": "2026-10-13T09:19:03.033Z",
"orgId": "cec7a2ec-15b4-4faf-bd53-b40f371f3a77",
"shortName": "siemens"
},
"references": [
{
"url": "https://cert-portal.siemens.com/productcert/html/ssa-508506.html"
}
]
}
},
"cveMetadata": {
"assignerOrgId": "cec7a2ec-15b4-4faf-bd53-b40f371f3a77",
"assignerShortName": "siemens",
"cveId": "CVE-2026-89199",
"datePublished": "2026-10-13T09:19:03.033Z",
"dateReserved": "2026-09-11T07:45:20.919Z",
"dateUpdated": "2026-10-13T16:20:07.271Z",
"state": "PUBLISHED"
},
"dataType": "CVE_RECORD",
"dataVersion": "5.2"
}
CVE-2026-89141 (GCVE-0-2026-89141)
Vulnerability from cvelistv5 – Published: 2026-09-15 06:07 – Updated: 2026-09-15 13:53- CWE-639 - Authorization Bypass Through User-Controlled Key
| Vendor | Product | Version | |
|---|---|---|---|
| tigroumeow | AI Engine – The Chatbot, AI Framework & MCP for WordPress |
Affected:
0 , ≤ 3.7.7
(semver)
|
{
"containers": {
"adp": [
{
"metrics": [
{
"other": {
"content": {
"id": "CVE-2026-89141",
"options": [
{
"Exploitation": "none"
},
{
"Automatable": "no"
},
{
"Technical Impact": "partial"
}
],
"role": "CISA Coordinator",
"timestamp": "2026-09-15T13:25:16.438622Z",
"version": "2.0.3"
},
"type": "ssvc"
}
}
],
"providerMetadata": {
"dateUpdated": "2026-09-15T13:53:51.020Z",
"orgId": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
"shortName": "CISA-ADP"
},
"title": "CISA ADP Vulnrichment"
}
],
"cna": {
"affected": [
{
"defaultStatus": "unaffected",
"product": "AI Engine \u2013 The Chatbot, AI Framework \u0026 MCP for WordPress",
"vendor": "tigroumeow",
"versions": [
{
"lessThanOrEqual": "3.7.7",
"status": "affected",
"version": "0",
"versionType": "semver"
}
]
}
],
"credits": [
{
"lang": "en",
"type": "finder",
"value": "Chi Trung Huynh"
}
],
"descriptions": [
{
"lang": "en",
"value": "The AI Engine \u2013 The Chatbot, AI Framework \u0026 MCP for WordPress plugin for WordPress is vulnerable to Insecure Direct Object Reference in all versions up to, and including, 3.7.7 via the \u0027mediaId\u0027 parameter due to missing validation on a user controlled key. This makes it possible for authenticated attackers, with subscriber-level access and above, to access and retrieve the transcribed contents of private audio attachments belonging to other users, including Administrators, via a supplied attachment ID. This vulnerability requires the Public API module to be enabled in the plugin settings; when disabled, the REST route is absent and the endpoint returns HTTP 404."
}
],
"metrics": [
{
"cvssV3_1": {
"baseScore": 6.5,
"baseSeverity": "MEDIUM",
"vectorString": "CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:N",
"version": "3.1"
}
}
],
"problemTypes": [
{
"descriptions": [
{
"cweId": "CWE-639",
"description": "CWE-639 Authorization Bypass Through User-Controlled Key",
"lang": "en",
"type": "CWE"
}
]
}
],
"providerMetadata": {
"dateUpdated": "2026-09-15T06:07:31.075Z",
"orgId": "b15e7b5b-3da4-40ae-a43c-f7aa60e62599",
"shortName": "Wordfence"
},
"references": [
{
"url": "https://www.wordfence.com/threat-intel/vulnerabilities/id/2cb2ad5d-aa92-4186-aaae-45dde4a52f30?source=cve"
},
{
"url": "https://plugins.trac.wordpress.org/browser/ai-engine/tags/3.7.7/classes/api.php#L663"
},
{
"url": "https://plugins.trac.wordpress.org/browser/ai-engine/tags/3.7.7/classes/api.php#L637"
},
{
"url": "https://plugins.trac.wordpress.org/browser/ai-engine/tags/3.7.7/classes/core.php#L253"
},
{
"url": "https://plugins.trac.wordpress.org/browser/ai-engine/tags/3.7.7/classes/api.php#L1168"
},
{
"url": "https://plugins.trac.wordpress.org/changeset/3693379"
}
],
"timeline": [
{
"lang": "en",
"time": "2026-09-10T23:40:24.000Z",
"value": "Vendor Notified"
},
{
"lang": "en",
"time": "2026-09-14T17:10:00.000Z",
"value": "Disclosed"
}
],
"title": "AI Engine \u003c= 3.7.7 - Insecure Direct Object Reference to Authenticated (Subscriber+) Sensitive Attachment Disclosure via \u0027mediaId\u0027 Parameter"
}
},
"cveMetadata": {
"assignerOrgId": "b15e7b5b-3da4-40ae-a43c-f7aa60e62599",
"assignerShortName": "Wordfence",
"cveId": "CVE-2026-89141",
"datePublished": "2026-09-15T06:07:31.075Z",
"dateReserved": "2026-09-10T23:37:42.478Z",
"dateUpdated": "2026-09-15T13:53:51.020Z",
"state": "PUBLISHED"
},
"dataType": "CVE_RECORD",
"dataVersion": "5.2"
}
CVE-2026-89140 (GCVE-0-2026-89140)
Vulnerability from cvelistv5 – Published: 2026-10-12 18:44 – Updated: 2026-10-16 17:52- CWE-639 - Authorization Bypass Through User-Controlled Key
| Vendor | Product | Version | |
|---|---|---|---|
| Temporal Technologies, Inc. | Temporal Server |
Affected:
1.30.0 , < 1.30.8
(semver)
cpe:2.3:a:temporal:temporal:*:*:*:*:*:*:*:* |
|
| Temporal Technologies, Inc. | Temporal Server |
Affected:
1.31.0 , < 1.31.4
(semver)
cpe:2.3:a:temporal:temporal:*:*:*:*:*:*:*:* |
|
| Temporal Technologies, Inc. | Temporal Server |
Affected:
1.32.0 , < 1.32.1
(semver)
cpe:2.3:a:temporal:temporal:*:*:*:*:*:*:*:* |
{
"containers": {
"adp": [
{
"metrics": [
{
"other": {
"content": {
"id": "CVE-2026-89140",
"options": [
{
"Exploitation": "none"
},
{
"Automatable": "no"
},
{
"Technical Impact": "partial"
}
],
"role": "CISA Coordinator",
"timestamp": "2026-10-16T17:51:46.683270Z",
"version": "2.0.3"
},
"type": "ssvc"
}
}
],
"providerMetadata": {
"dateUpdated": "2026-10-16T17:52:55.664Z",
"orgId": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
"shortName": "CISA-ADP"
},
"title": "CISA ADP Vulnrichment"
}
],
"cna": {
"affected": [
{
"collectionURL": "https://pkg.go.dev",
"cpes": [
"cpe:2.3:a:temporal:temporal:*:*:*:*:*:*:*:*"
],
"defaultStatus": "unaffected",
"modules": [
"Frontend",
"History"
],
"packageName": "go.temporal.io/server",
"product": "Temporal Server",
"programFiles": [
"service/frontend/workflow_handler.go",
"components/callbacks/config.go",
"components/callbacks/executors.go",
"components/callbacks/chasm_invocation.go",
"service/history/handler.go",
"chasm/lib/scheduler/scheduler.go"
],
"programRoutines": [
{
"name": "WorkflowHandler.validateWorkflowCompletionCallbacks"
},
{
"name": "WorkflowHandler.validateCallbackURL"
},
{
"name": "AddressMatchRules.Validate"
},
{
"name": "chasmInvocation.Invoke"
},
{
"name": "Handler.CompleteNexusOperationChasm"
},
{
"name": "Scheduler.HandleNexusCompletion"
}
],
"repo": "https://github.com/temporalio/temporal",
"vendor": "Temporal Technologies, Inc.",
"versions": [
{
"lessThan": "1.30.8",
"status": "affected",
"version": "1.30.0",
"versionType": "semver"
}
]
},
{
"collectionURL": "https://pkg.go.dev",
"cpes": [
"cpe:2.3:a:temporal:temporal:*:*:*:*:*:*:*:*"
],
"defaultStatus": "unaffected",
"modules": [
"Frontend",
"History"
],
"packageName": "go.temporal.io/server",
"product": "Temporal Server",
"programFiles": [
"service/frontend/workflow_handler.go",
"components/callbacks/config.go",
"components/callbacks/executors.go",
"components/callbacks/chasm_invocation.go",
"chasm/lib/callback/invocable_internal.go",
"service/history/handler.go",
"chasm/lib/scheduler/scheduler.go"
],
"programRoutines": [
{
"name": "WorkflowHandler.validateWorkflowCompletionCallbacks"
},
{
"name": "WorkflowHandler.validateCallbackURL"
},
{
"name": "AddressMatchRules.Validate"
},
{
"name": "chasmInvocation.Invoke"
},
{
"name": "invocableInternal.Invoke"
},
{
"name": "Handler.CompleteNexusOperationChasm"
},
{
"name": "Scheduler.HandleNexusCompletion"
}
],
"repo": "https://github.com/temporalio/temporal",
"vendor": "Temporal Technologies, Inc.",
"versions": [
{
"lessThan": "1.31.4",
"status": "affected",
"version": "1.31.0",
"versionType": "semver"
}
]
},
{
"collectionURL": "https://pkg.go.dev",
"cpes": [
"cpe:2.3:a:temporal:temporal:*:*:*:*:*:*:*:*"
],
"defaultStatus": "unaffected",
"modules": [
"Frontend",
"History"
],
"packageName": "go.temporal.io/server",
"product": "Temporal Server",
"programFiles": [
"service/frontend/workflow_handler.go",
"chasm/lib/callback/validator.go",
"chasm/lib/callback/config.go",
"components/callbacks/executors.go",
"components/callbacks/chasm_invocation.go",
"chasm/lib/callback/invocable_internal.go",
"service/history/handler.go",
"chasm/lib/scheduler/scheduler.go"
],
"programRoutines": [
{
"name": "WorkflowHandler.prepareStartWorkflowRequest"
},
{
"name": "validator.Validate"
},
{
"name": "AddressMatchRules.Validate"
},
{
"name": "chasmInvocation.Invoke"
},
{
"name": "invocableInternal.Invoke"
},
{
"name": "Handler.CompleteNexusOperationChasm"
},
{
"name": "Scheduler.HandleNexusCompletion"
}
],
"repo": "https://github.com/temporalio/temporal",
"vendor": "Temporal Technologies, Inc.",
"versions": [
{
"lessThan": "1.32.1",
"status": "affected",
"version": "1.32.0",
"versionType": "semver"
}
]
}
],
"configurations": [
{
"lang": "en",
"supportingMedia": [
{
"base64": false,
"type": "text/html",
"value": "\u003cp\u003eExploitation requires all of the following. Authorization must be enabled through a configured authorizer and claim mapper; without it every caller already holds write permission in every namespace and there is no boundary to cross. The caller must be able to start a Workflow with completion callbacks in some namespace. The target namespace must hold a Scheduler V2 schedule. On 1.30.x that requires history.enableChasm, which defaults to false on that line, together with a Scheduler V2 creation route. On 1.31.x and 1.32.0, where the CHASM engine is enabled by default, it requires a Scheduler V2 creation route alone. The creation routes are history.enableCHASMSchedulerCreation, which defaults to false, gated on 1.32.0 by history.chasmSchedulerCreationRolloutPercent, which defaults to 0; the chasm-scheduler entry in frontend.allowedExperiments, which is empty by default; and history.enableCHASMSchedulerMigration, which defaults to false. Scheduler V2 is a first-party feature, and a deployment that enables it is in scope.\u003c/p\u003e"
}
],
"value": "Exploitation requires all of the following. Authorization must be enabled through a configured authorizer and claim mapper; without it every caller already holds write permission in every namespace and there is no boundary to cross. The caller must be able to start a Workflow with completion callbacks in some namespace. The target namespace must hold a Scheduler V2 schedule. On 1.30.x that requires history.enableChasm, which defaults to false on that line, together with a Scheduler V2 creation route. On 1.31.x and 1.32.0, where the CHASM engine is enabled by default, it requires a Scheduler V2 creation route alone. The creation routes are history.enableCHASMSchedulerCreation, which defaults to false, gated on 1.32.0 by history.chasmSchedulerCreationRolloutPercent, which defaults to 0; the chasm-scheduler entry in frontend.allowedExperiments, which is empty by default; and history.enableCHASMSchedulerMigration, which defaults to false. Scheduler V2 is a first-party feature, and a deployment that enables it is in scope."
},
{
"lang": "en",
"supportingMedia": [
{
"base64": false,
"type": "text/html",
"value": "\u003cp\u003eThe Attack Requirements metric is Present because a forged completion changes schedule state only when it matches an action the target schedule is running at the time of delivery, and a nonmatching completion is accepted without effect. Exploitation under a known schedule identifier and interval has been demonstrated; exploitation without synchronized timing has not. The Base score reflects the demonstrated integrity effect and does not score the forged-failure availability effect, which has not been reproduced.\u003c/p\u003e"
}
],
"value": "The Attack Requirements metric is Present because a forged completion changes schedule state only when it matches an action the target schedule is running at the time of delivery, and a nonmatching completion is accepted without effect. Exploitation under a known schedule identifier and interval has been demonstrated; exploitation without synchronized timing has not. The Base score reflects the demonstrated integrity effect and does not score the forged-failure availability effect, which has not been reproduced."
}
],
"credits": [
{
"lang": "en",
"type": "finder",
"value": "Reported internally at Temporal Technologies, Inc."
},
{
"lang": "en",
"type": "finder",
"value": "Zellic, who independently reported this issue responsibly to Temporal Technologies"
},
{
"lang": "en",
"type": "tool",
"value": "V12"
}
],
"descriptions": [
{
"lang": "en",
"supportingMedia": [
{
"base64": false,
"type": "text/html",
"value": "\u003cp\u003eTemporal Server does not bind internal completion callbacks to the namespace that attached them, which allows an authenticated caller with write permission in one namespace to alter Scheduler V2 schedule state in another namespace. The callback address temporal://internal is reserved for callbacks that Scheduler V2 attaches to the Workflows it starts. In affected releases, any authenticated caller could attach a callback with that address to a Workflow start request, the address was exempt from the component.callbacks.allowedAddresses allowlist, and the History service delivered the callback to the component its token named, in whatever namespace that was, without authorizing the original caller there. When the forged completion matches an action a target schedule is running, the schedule records the action as completed while its Workflow still runs, which can defeat an overlap policy such as SKIP, and passes caller-controlled data to the next scheduled Workflow as its last completion result. A forged failure may also pause a schedule configured to pause on failure. A forgery requires the target namespace identifier, the schedule identifier, and the identity and timing of a running action. No disclosure of Workflow payloads or history was identified. Only namespaces that hold Scheduler V2 schedules can be targeted; Scheduler V2 is off by default, and existing Scheduler V2 schedules remain targets after the settings that create them are turned off.\u003c/p\u003e"
}
],
"value": "Temporal Server does not bind internal completion callbacks to the namespace that attached them, which allows an authenticated caller with write permission in one namespace to alter Scheduler V2 schedule state in another namespace. The callback address temporal://internal is reserved for callbacks that Scheduler V2 attaches to the Workflows it starts. In affected releases, any authenticated caller could attach a callback with that address to a Workflow start request, the address was exempt from the component.callbacks.allowedAddresses allowlist, and the History service delivered the callback to the component its token named, in whatever namespace that was, without authorizing the original caller there. When the forged completion matches an action a target schedule is running, the schedule records the action as completed while its Workflow still runs, which can defeat an overlap policy such as SKIP, and passes caller-controlled data to the next scheduled Workflow as its last completion result. A forged failure may also pause a schedule configured to pause on failure. A forgery requires the target namespace identifier, the schedule identifier, and the identity and timing of a running action. No disclosure of Workflow payloads or history was identified. Only namespaces that hold Scheduler V2 schedules can be targeted; Scheduler V2 is off by default, and existing Scheduler V2 schedules remain targets after the settings that create them are turned off."
}
],
"impacts": [
{
"descriptions": [
{
"lang": "en",
"value": "Unauthorized modification of Scheduler V2 schedule state in a namespace where the caller holds no permission. Confirmed effects are recording a still-running scheduled Workflow as completed, removing it from the schedule\u0027s running actions, and supplying caller-controlled data to the next scheduled Workflow as its last completion result. A forged failure can pause a schedule configured to pause on failure; that effect is supported by source review but has not been reproduced. No disclosure of Workflow payloads or history, code execution, or Temporal Server process crash was identified."
}
]
}
],
"metrics": [
{
"cvssV4_0": {
"Automatable": "NOT_DEFINED",
"Recovery": "NOT_DEFINED",
"Safety": "NOT_DEFINED",
"attackComplexity": "LOW",
"attackRequirements": "PRESENT",
"attackVector": "NETWORK",
"baseScore": 6,
"baseSeverity": "MEDIUM",
"exploitMaturity": "NOT_DEFINED",
"privilegesRequired": "LOW",
"providerUrgency": "NOT_DEFINED",
"subAvailabilityImpact": "NONE",
"subConfidentialityImpact": "NONE",
"subIntegrityImpact": "NONE",
"userInteraction": "NONE",
"valueDensity": "NOT_DEFINED",
"vectorString": "CVSS:4.0/AV:N/AC:L/AT:P/PR:L/UI:N/VC:N/VI:H/VA:N/SC:N/SI:N/SA:N",
"version": "4.0",
"vulnAvailabilityImpact": "NONE",
"vulnConfidentialityImpact": "NONE",
"vulnIntegrityImpact": "HIGH",
"vulnerabilityResponseEffort": "NOT_DEFINED"
},
"format": "CVSS",
"scenarios": [
{
"lang": "en",
"value": "GENERAL"
}
]
}
],
"problemTypes": [
{
"descriptions": [
{
"cweId": "CWE-639",
"description": "CWE-639: Authorization Bypass Through User-Controlled Key",
"lang": "en",
"type": "CWE"
}
]
}
],
"providerMetadata": {
"dateUpdated": "2026-10-12T18:44:23.032Z",
"orgId": "61241ed8-fa44-4f23-92db-b8c443751968",
"shortName": "Temporal"
},
"references": [
{
"name": "Fix pull request",
"tags": [
"patch"
],
"url": "https://github.com/temporalio/temporal/pull/11876"
},
{
"name": "Fix commit",
"tags": [
"patch"
],
"url": "https://github.com/temporalio/temporal/commit/a210eeb8c2cc7e22338bb4f552ff1171d8f35969"
},
{
"name": "Backport pull request for the 1.30 release line",
"tags": [
"patch"
],
"url": "https://github.com/temporalio/temporal/pull/12318"
},
{
"name": "Backport pull request for the 1.31 release line",
"tags": [
"patch"
],
"url": "https://github.com/temporalio/temporal/pull/12319"
},
{
"name": "Follow-up pull request for the 1.31 release line, checking every reading of the callback token",
"tags": [
"patch"
],
"url": "https://github.com/temporalio/temporal/pull/12382"
},
{
"name": "Backport pull request for the 1.32 release line",
"tags": [
"patch"
],
"url": "https://github.com/temporalio/temporal/pull/12320"
},
{
"name": "Backport commit on release/v1.32.x",
"tags": [
"patch"
],
"url": "https://github.com/temporalio/temporal/commit/d0bd72e85014f31ecfbada1b436b08806496dbef"
},
{
"name": "Temporal Server 1.30.8",
"tags": [
"release-notes"
],
"url": "https://github.com/temporalio/temporal/releases/tag/v1.30.8"
},
{
"name": "Temporal Server 1.31.4",
"tags": [
"release-notes"
],
"url": "https://github.com/temporalio/temporal/releases/tag/v1.31.4"
},
{
"name": "Temporal Server 1.32.1",
"tags": [
"release-notes"
],
"url": "https://github.com/temporalio/temporal/releases/tag/v1.32.1"
}
],
"solutions": [
{
"lang": "en",
"supportingMedia": [
{
"base64": false,
"type": "text/html",
"value": "\u003cp\u003eUpgrade to Temporal Server 1.30.8, 1.31.4, or 1.32.1, as appropriate for the deployed minor release line. The fix requires no configuration change and adds no setting. When a start request attaches a temporal://internal completion callback, fixed releases decode the component reference in the callback token and reject the request with InvalidArgument unless the reference names both a namespace and a business identifier and its namespace is the namespace of the request. The check runs in the Frontend service when the callback is attached, before it is persisted; it does not apply to callbacks that were attached and persisted before the upgrade, which are delivered as before. Releases before 1.30.0 do not contain the reserved internal callback address and are not affected. On 1.32, completion callbacks attached through Workflow Update are not checked in 1.32.1. That path is off by default and is not a released feature on 1.32: keep history.enableUpdateCallbacks set to false.\u003c/p\u003e"
}
],
"value": "Upgrade to Temporal Server 1.30.8, 1.31.4, or 1.32.1, as appropriate for the deployed minor release line. The fix requires no configuration change and adds no setting. When a start request attaches a temporal://internal completion callback, fixed releases decode the component reference in the callback token and reject the request with InvalidArgument unless the reference names both a namespace and a business identifier and its namespace is the namespace of the request. The check runs in the Frontend service when the callback is attached, before it is persisted; it does not apply to callbacks that were attached and persisted before the upgrade, which are delivered as before. Releases before 1.30.0 do not contain the reserved internal callback address and are not affected. On 1.32, completion callbacks attached through Workflow Update are not checked in 1.32.1. That path is off by default and is not a released feature on 1.32: keep history.enableUpdateCallbacks set to false."
}
],
"source": {
"discovery": "INTERNAL"
},
"title": "Temporal Server internal completion callbacks are not bound to their namespace, allowing cross-namespace changes to Scheduler V2 schedule state",
"workarounds": [
{
"lang": "en",
"supportingMedia": [
{
"base64": false,
"type": "text/html",
"value": "\u003cp\u003eUntil a fixed release is deployed, keep Scheduler V2 schedules from being created: leave history.enableCHASMSchedulerCreation set to false, and on 1.32.0 leave history.chasmSchedulerCreationRolloutPercent at 0; do not include chasm-scheduler in frontend.allowedExperiments; and leave history.enableCHASMSchedulerMigration set to false. These settings prevent new Scheduler V2 schedules from being created; they do not remove schedules already created on Scheduler V2. Tightening component.callbacks.allowedAddresses does not help, because the reserved temporal://internal address is accepted before configured rules are evaluated. Restricting read access to the target namespace does not close the issue either, because the target namespace identifier can be visible to a caller limited to the source namespace, and it does not correct the missing authorization check.\u003c/p\u003e"
}
],
"value": "Until a fixed release is deployed, keep Scheduler V2 schedules from being created: leave history.enableCHASMSchedulerCreation set to false, and on 1.32.0 leave history.chasmSchedulerCreationRolloutPercent at 0; do not include chasm-scheduler in frontend.allowedExperiments; and leave history.enableCHASMSchedulerMigration set to false. These settings prevent new Scheduler V2 schedules from being created; they do not remove schedules already created on Scheduler V2. Tightening component.callbacks.allowedAddresses does not help, because the reserved temporal://internal address is accepted before configured rules are evaluated. Restricting read access to the target namespace does not close the issue either, because the target namespace identifier can be visible to a caller limited to the source namespace, and it does not correct the missing authorization check."
}
]
}
},
"cveMetadata": {
"assignerOrgId": "61241ed8-fa44-4f23-92db-b8c443751968",
"assignerShortName": "Temporal",
"cveId": "CVE-2026-89140",
"datePublished": "2026-10-12T18:44:23.032Z",
"dateReserved": "2026-09-10T23:08:28.591Z",
"dateUpdated": "2026-10-16T17:52:55.664Z",
"state": "PUBLISHED"
},
"dataType": "CVE_RECORD",
"dataVersion": "5.2"
}
CVE-2026-89063 (GCVE-0-2026-89063)
Vulnerability from cvelistv5 – Published: 2026-09-16 04:28 – Updated: 2026-09-17 17:39- CWE-639 - Authorization Bypass Through User-Controlled Key
| Vendor | Product | Version | |
|---|---|---|---|
| ladela | Online Scheduling and Appointment Booking System – Bookly |
Affected:
0 , ≤ 28.1
(semver)
|
{
"containers": {
"adp": [
{
"metrics": [
{
"other": {
"content": {
"id": "CVE-2026-89063",
"options": [
{
"Exploitation": "none"
},
{
"Automatable": "yes"
},
{
"Technical Impact": "partial"
}
],
"role": "CISA Coordinator",
"timestamp": "2026-09-17T17:39:04.337616Z",
"version": "2.0.3"
},
"type": "ssvc"
}
}
],
"providerMetadata": {
"dateUpdated": "2026-09-17T17:39:20.130Z",
"orgId": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
"shortName": "CISA-ADP"
},
"title": "CISA ADP Vulnrichment"
}
],
"cna": {
"affected": [
{
"defaultStatus": "unaffected",
"product": "Online Scheduling and Appointment Booking System \u2013 Bookly",
"vendor": "ladela",
"versions": [
{
"lessThanOrEqual": "28.1",
"status": "affected",
"version": "0",
"versionType": "semver"
}
]
}
],
"credits": [
{
"lang": "en",
"type": "finder",
"value": "jtb75"
}
],
"descriptions": [
{
"lang": "en",
"value": "The Online Scheduling and Appointment Booking System \u2013 Bookly plugin for WordPress is vulnerable to Insecure Direct Object Reference in all versions up to, and including, 28.1 via the \u0027conversation_id\u0027 parameter due to missing validation on a user controlled key. This makes it possible for unauthenticated attackers to read the full AI booking conversation transcript of any customer \u2014 leaking names, email addresses, phone numbers, and appointment details echoed by the assistant \u2014 and inject arbitrary messages into any victim conversation that are subsequently replayed to the Cloud AI worker along with the full private history. Because AI conversations are stored with no owner, user, or session identifier and conversation IDs are sequential integers, an unauthenticated attacker can enumerate all customer conversations simply by incrementing the conversation_id parameter."
}
],
"metrics": [
{
"cvssV3_1": {
"baseScore": 7.5,
"baseSeverity": "HIGH",
"vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N",
"version": "3.1"
}
}
],
"problemTypes": [
{
"descriptions": [
{
"cweId": "CWE-639",
"description": "CWE-639 Authorization Bypass Through User-Controlled Key",
"lang": "en",
"type": "CWE"
}
]
}
],
"providerMetadata": {
"dateUpdated": "2026-09-16T04:28:02.943Z",
"orgId": "b15e7b5b-3da4-40ae-a43c-f7aa60e62599",
"shortName": "Wordfence"
},
"references": [
{
"url": "https://www.wordfence.com/threat-intel/vulnerabilities/id/b6af015f-f954-4afb-9d65-56176f73672f?source=cve"
},
{
"url": "https://plugins.trac.wordpress.org/browser/bookly-responsive-appointment-booking-tool/tags/28.1/frontend/modules/ai/Ajax.php#L215"
},
{
"url": "https://plugins.trac.wordpress.org/browser/bookly-responsive-appointment-booking-tool/tags/28.1/frontend/modules/ai/Ajax.php#L212"
},
{
"url": "https://plugins.trac.wordpress.org/browser/bookly-responsive-appointment-booking-tool/tags/28.1/frontend/modules/ai/Ajax.php#L60"
},
{
"url": "https://plugins.trac.wordpress.org/browser/bookly-responsive-appointment-booking-tool/tags/28.1/frontend/modules/ai/Ajax.php#L38"
},
{
"url": "https://plugins.trac.wordpress.org/browser/bookly-responsive-appointment-booking-tool/tags/28.1/lib/base/Component.php#L67"
}
],
"timeline": [
{
"lang": "en",
"time": "2026-09-10T18:54:03.000Z",
"value": "Vendor Notified"
},
{
"lang": "en",
"time": "2026-09-15T15:39:44.000Z",
"value": "Disclosed"
}
],
"title": "Online Scheduling and Appointment Booking System \u003c= 28.1 - Insecure Direct Object Reference to Unauthenticated Sensitive Data Access and Message Injection via \u0027conversation_id\u0027 Parameter"
}
},
"cveMetadata": {
"assignerOrgId": "b15e7b5b-3da4-40ae-a43c-f7aa60e62599",
"assignerShortName": "Wordfence",
"cveId": "CVE-2026-89063",
"datePublished": "2026-09-16T04:28:02.943Z",
"dateReserved": "2026-09-10T18:38:58.201Z",
"dateUpdated": "2026-09-17T17:39:20.130Z",
"state": "PUBLISHED"
},
"dataType": "CVE_RECORD",
"dataVersion": "5.2"
}
CVE-2026-89031 (GCVE-0-2026-89031)
Vulnerability from cvelistv5 – Published: 2026-09-16 14:03 – Updated: 2026-10-01 15:21- CWE-639 - Authorization Bypass Through User-Controlled Key
| URL | Tags |
|---|---|
| https://wordpress.org/plugins/blog2social/#developers | release-notespatch |
| https://www.vulncheck.com/advisories/blog2social-… | third-party-advisory |
| Vendor | Product | Version | |
|---|---|---|---|
| Adenion | Blog2Social |
Affected:
0 , < 9.1.0
(semver)
cpe:2.3:a:adenion:blog2social:*:*:*:*:*:wordpress:*:* |
{
"containers": {
"adp": [
{
"metrics": [
{
"other": {
"content": {
"id": "CVE-2026-89031",
"options": [
{
"Exploitation": "none"
},
{
"Automatable": "no"
},
{
"Technical Impact": "partial"
}
],
"role": "CISA Coordinator",
"timestamp": "2026-09-21T17:44:57.417956Z",
"version": "2.0.3"
},
"type": "ssvc"
}
}
],
"providerMetadata": {
"dateUpdated": "2026-09-21T17:45:07.777Z",
"orgId": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
"shortName": "CISA-ADP"
},
"title": "CISA ADP Vulnrichment"
}
],
"cna": {
"affected": [
{
"defaultStatus": "unaffected",
"product": "Blog2Social",
"vendor": "Adenion",
"versions": [
{
"lessThan": "9.1.0",
"status": "affected",
"version": "0",
"versionType": "semver"
}
]
}
],
"cpeApplicability": [
{
"nodes": [
{
"cpeMatch": [
{
"criteria": "cpe:2.3:a:adenion:blog2social:*:*:*:*:*:wordpress:*:*",
"versionEndExcluding": "9.1.0",
"vulnerable": true
}
],
"negate": false,
"operator": "OR"
}
]
}
],
"credits": [
{
"lang": "en",
"type": "finder",
"value": "Choriyev Qahramon (ciprobe)"
},
{
"lang": "en",
"type": "coordinator",
"value": "VulnCheck"
}
],
"datePublic": "2026-09-16T00:00:00.000Z",
"descriptions": [
{
"lang": "en",
"value": "Adenion Blog2Social plugin for WordPress before 9.1.0 allows low-privileged users to modify the scheduled post records of other users. The b2s_calendar_move_post AJAX handler in includes/Ajax/Post.php issues an UPDATE against the b2s_posts table using only the attacker-supplied b2s_id primary key with no blog_user_id ownership constraint, allowing any user with the edit_posts capability to reschedule, suppress, or alter the publication state of any other user\u0027s scheduled social media post."
}
],
"metrics": [
{
"cvssV4_0": {
"Automatable": "NOT_DEFINED",
"Recovery": "NOT_DEFINED",
"Safety": "NOT_DEFINED",
"attackComplexity": "LOW",
"attackRequirements": "NONE",
"attackVector": "NETWORK",
"baseScore": 5.3,
"baseSeverity": "MEDIUM",
"exploitMaturity": "NOT_DEFINED",
"privilegesRequired": "LOW",
"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:L/UI:N/VC:N/VI:L/VA:L/SC:N/SI:N/SA:N",
"version": "4.0",
"vulnAvailabilityImpact": "LOW",
"vulnConfidentialityImpact": "NONE",
"vulnIntegrityImpact": "LOW",
"vulnerabilityResponseEffort": "NOT_DEFINED"
},
"format": "CVSS",
"scenarios": [
{
"lang": "en",
"value": "GENERAL"
}
]
},
{
"cvssV3_1": {
"attackComplexity": "LOW",
"attackVector": "NETWORK",
"availabilityImpact": "LOW",
"baseScore": 5.4,
"baseSeverity": "MEDIUM",
"confidentialityImpact": "NONE",
"integrityImpact": "LOW",
"privilegesRequired": "LOW",
"scope": "UNCHANGED",
"userInteraction": "NONE",
"vectorString": "CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:L/A:L",
"version": "3.1"
},
"format": "CVSS",
"scenarios": [
{
"lang": "en",
"value": "GENERAL"
}
]
}
],
"problemTypes": [
{
"descriptions": [
{
"cweId": "CWE-639",
"description": "Authorization Bypass Through User-Controlled Key",
"lang": "en",
"type": "CWE"
}
]
}
],
"providerMetadata": {
"dateUpdated": "2026-10-01T15:21:53.408Z",
"orgId": "83251b91-4cc7-4094-a5c7-464a1b83ea10",
"shortName": "VulnCheck"
},
"references": [
{
"name": "WordPress Changelog",
"tags": [
"release-notes",
"patch"
],
"url": "https://wordpress.org/plugins/blog2social/#developers"
},
{
"tags": [
"third-party-advisory"
],
"url": "https://www.vulncheck.com/advisories/blog2social-wordpress-plugin-broken-access-control-via-b2s-calendar-move-post"
}
],
"source": {
"discovery": "UNKNOWN"
},
"title": "Blog2Social WordPress Plugin \u003c 9.1.0 Broken Access Control via b2s_calendar_move_post",
"x_generator": {
"engine": "vulncheck"
}
}
},
"cveMetadata": {
"assignerOrgId": "83251b91-4cc7-4094-a5c7-464a1b83ea10",
"assignerShortName": "VulnCheck",
"cveId": "CVE-2026-89031",
"datePublished": "2026-09-16T14:03:03.600Z",
"dateReserved": "2026-09-10T16:23:54.472Z",
"dateUpdated": "2026-10-01T15:21:53.408Z",
"state": "PUBLISHED"
},
"dataType": "CVE_RECORD",
"dataVersion": "5.2"
}
CVE-2026-89029 (GCVE-0-2026-89029)
Vulnerability from cvelistv5 – Published: 2026-09-16 13:59 – Updated: 2026-10-01 15:21- CWE-639 - Authorization Bypass Through User-Controlled Key
| URL | Tags |
|---|---|
| https://wordpress.org/plugins/blog2social/#developers | release-notespatch |
| https://www.vulncheck.com/advisories/blog2social-… | third-party-advisory |
| Vendor | Product | Version | |
|---|---|---|---|
| Adenion | Blog2Social |
Affected:
0 , < 9.1.0
(semver)
cpe:2.3:a:adenion:blog2social:*:*:*:*:*:wordpress:*:* |
{
"containers": {
"adp": [
{
"metrics": [
{
"other": {
"content": {
"id": "CVE-2026-89029",
"options": [
{
"Exploitation": "none"
},
{
"Automatable": "no"
},
{
"Technical Impact": "partial"
}
],
"role": "CISA Coordinator",
"timestamp": "2026-09-17T19:16:39.619616Z",
"version": "2.0.3"
},
"type": "ssvc"
}
}
],
"providerMetadata": {
"dateUpdated": "2026-09-17T19:26:30.928Z",
"orgId": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
"shortName": "CISA-ADP"
},
"title": "CISA ADP Vulnrichment"
}
],
"cna": {
"affected": [
{
"defaultStatus": "unaffected",
"product": "Blog2Social",
"vendor": "Adenion",
"versions": [
{
"lessThan": "9.1.0",
"status": "affected",
"version": "0",
"versionType": "semver"
}
]
}
],
"cpeApplicability": [
{
"nodes": [
{
"cpeMatch": [
{
"criteria": "cpe:2.3:a:adenion:blog2social:*:*:*:*:*:wordpress:*:*",
"versionEndExcluding": "9.1.0",
"vulnerable": true
}
],
"negate": false,
"operator": "OR"
}
]
}
],
"credits": [
{
"lang": "en",
"type": "finder",
"value": "Choriyev Qahramon (ciprobe)"
},
{
"lang": "en",
"type": "coordinator",
"value": "VulnCheck"
}
],
"datePublic": "2026-09-16T00:00:00.000Z",
"descriptions": [
{
"lang": "en",
"value": "Adenion Blog2Social plugin for WordPress before 9.1.0 allows low-privileged users to enumerate WordPress user accounts. The b2s_get_select_mandant_user AJAX handler in includes/Ajax/Get.php resolves arbitrary user IDs supplied in the owner parameter to display names without verifying that the caller is authorized to read user account data, allowing any user with the edit_posts capability to map WordPress user IDs to display names and confirm account existence for arbitrary IDs."
}
],
"metrics": [
{
"cvssV4_0": {
"Automatable": "NOT_DEFINED",
"Recovery": "NOT_DEFINED",
"Safety": "NOT_DEFINED",
"attackComplexity": "LOW",
"attackRequirements": "NONE",
"attackVector": "NETWORK",
"baseScore": 5.3,
"baseSeverity": "MEDIUM",
"exploitMaturity": "NOT_DEFINED",
"privilegesRequired": "LOW",
"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:L/UI:N/VC:L/VI:N/VA:N/SC:N/SI:N/SA:N",
"version": "4.0",
"vulnAvailabilityImpact": "NONE",
"vulnConfidentialityImpact": "LOW",
"vulnIntegrityImpact": "NONE",
"vulnerabilityResponseEffort": "NOT_DEFINED"
},
"format": "CVSS",
"scenarios": [
{
"lang": "en",
"value": "GENERAL"
}
]
},
{
"cvssV3_1": {
"attackComplexity": "LOW",
"attackVector": "NETWORK",
"availabilityImpact": "NONE",
"baseScore": 4.3,
"baseSeverity": "MEDIUM",
"confidentialityImpact": "LOW",
"integrityImpact": "NONE",
"privilegesRequired": "LOW",
"scope": "UNCHANGED",
"userInteraction": "NONE",
"vectorString": "CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:L/I:N/A:N",
"version": "3.1"
},
"format": "CVSS",
"scenarios": [
{
"lang": "en",
"value": "GENERAL"
}
]
}
],
"problemTypes": [
{
"descriptions": [
{
"cweId": "CWE-639",
"description": "Authorization Bypass Through User-Controlled Key",
"lang": "en",
"type": "CWE"
}
]
}
],
"providerMetadata": {
"dateUpdated": "2026-10-01T15:21:52.173Z",
"orgId": "83251b91-4cc7-4094-a5c7-464a1b83ea10",
"shortName": "VulnCheck"
},
"references": [
{
"name": "WordPress Changelog",
"tags": [
"release-notes",
"patch"
],
"url": "https://wordpress.org/plugins/blog2social/#developers"
},
{
"tags": [
"third-party-advisory"
],
"url": "https://www.vulncheck.com/advisories/blog2social-wordpress-plugin-user-enumeration-via-ajax-handler"
}
],
"source": {
"discovery": "UNKNOWN"
},
"title": "Blog2Social WordPress Plugin \u003c 9.1.0 User Enumeration via AJAX Handler",
"x_generator": {
"engine": "vulncheck"
}
}
},
"cveMetadata": {
"assignerOrgId": "83251b91-4cc7-4094-a5c7-464a1b83ea10",
"assignerShortName": "VulnCheck",
"cveId": "CVE-2026-89029",
"datePublished": "2026-09-16T13:59:48.640Z",
"dateReserved": "2026-09-10T16:23:54.472Z",
"dateUpdated": "2026-10-01T15:21:52.173Z",
"state": "PUBLISHED"
},
"dataType": "CVE_RECORD",
"dataVersion": "5.2"
}
CVE-2026-88978 (GCVE-0-2026-88978)
Vulnerability from cvelistv5 – Published: 2026-09-21 15:49 – Updated: 2026-09-24 22:18| URL | Tags |
|---|---|
| https://github.com/hatchet-dev/hatchet/security/a… | x_refsource_CONFIRM |
| https://github.com/hatchet-dev/hatchet/commit/15b… | x_refsource_MISC |
| Vendor | Product | Version | |
|---|---|---|---|
| hatchet-dev | hatchet |
Affected:
< 0.106.1
|
{
"containers": {
"adp": [
{
"metrics": [
{
"other": {
"content": {
"id": "CVE-2026-88978",
"options": [
{
"Exploitation": "none"
},
{
"Automatable": "no"
},
{
"Technical Impact": "partial"
}
],
"role": "CISA Coordinator",
"timestamp": "2026-09-24T22:18:07.030391Z",
"version": "2.0.3"
},
"type": "ssvc"
}
}
],
"providerMetadata": {
"dateUpdated": "2026-09-24T22:18:16.195Z",
"orgId": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
"shortName": "CISA-ADP"
},
"title": "CISA ADP Vulnrichment"
}
],
"cna": {
"affected": [
{
"product": "hatchet",
"vendor": "hatchet-dev",
"versions": [
{
"status": "affected",
"version": "\u003c 0.106.1"
}
]
}
],
"descriptions": [
{
"lang": "en",
"value": "Hatchet is a platform for orchestrating background tasks, AI agents, and durable workflows at scale. Prior to 0.106.1, the WorkerStatus gRPC polling path in pkg/repository/durable_events.go passes caller-supplied durable task, node, and branch identifiers to ListSatisfiedEntries without a tenant filter, allowing an authenticated tenant worker that knows another tenant\u0027s durable-task UUID to retrieve matching durable event-log records. The UUIDv4 requirement makes exploitation unlikely, and single-tenant deployments are unaffected in practice. This issue is fixed in version 0.106.1."
}
],
"metrics": [
{
"cvssV3_1": {
"attackComplexity": "LOW",
"attackVector": "NETWORK",
"availabilityImpact": "NONE",
"baseScore": 4.3,
"baseSeverity": "MEDIUM",
"confidentialityImpact": "LOW",
"integrityImpact": "NONE",
"privilegesRequired": "LOW",
"scope": "UNCHANGED",
"userInteraction": "NONE",
"vectorString": "CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:L/I:N/A:N",
"version": "3.1"
}
}
],
"problemTypes": [
{
"descriptions": [
{
"cweId": "CWE-639",
"description": "CWE-639: Authorization Bypass Through User-Controlled Key",
"lang": "en",
"type": "CWE"
}
]
},
{
"descriptions": [
{
"cweId": "CWE-863",
"description": "CWE-863: Incorrect Authorization",
"lang": "en",
"type": "CWE"
}
]
}
],
"providerMetadata": {
"dateUpdated": "2026-09-21T15:49:12.735Z",
"orgId": "a0819718-46f1-4df5-94e2-005712e83aaa",
"shortName": "GitHub_M"
},
"references": [
{
"name": "https://github.com/hatchet-dev/hatchet/security/advisories/GHSA-992g-9cr3-vm5x",
"tags": [
"x_refsource_CONFIRM"
],
"url": "https://github.com/hatchet-dev/hatchet/security/advisories/GHSA-992g-9cr3-vm5x"
},
{
"name": "https://github.com/hatchet-dev/hatchet/commit/15bc7923d3a8ebfeb0d88c19160dd24828921e85",
"tags": [
"x_refsource_MISC"
],
"url": "https://github.com/hatchet-dev/hatchet/commit/15bc7923d3a8ebfeb0d88c19160dd24828921e85"
}
],
"source": {
"advisory": "GHSA-992g-9cr3-vm5x",
"discovery": "UNKNOWN"
},
"title": "Hatchet DurableTask WorkerStatus gRPC resolves caller-supplied durable-task UUIDs via ListSatisfiedEntries with no tenant_id filter"
}
},
"cveMetadata": {
"assignerOrgId": "a0819718-46f1-4df5-94e2-005712e83aaa",
"assignerShortName": "GitHub_M",
"cveId": "CVE-2026-88978",
"datePublished": "2026-09-21T15:49:12.735Z",
"dateReserved": "2026-09-10T16:02:31.342Z",
"dateUpdated": "2026-09-24T22:18:16.195Z",
"state": "PUBLISHED"
},
"dataType": "CVE_RECORD",
"dataVersion": "5.2"
}
Mitigation
For each and every data access, ensure that the user has sufficient privilege to access the record that is being requested.
Mitigation
Make sure that the key that is used in the lookup of a specific user's record is not controllable externally by the user or that any tampering can be detected.
Mitigation
Use encryption in order to make it more difficult to guess other legitimate values of the key or associate a digital signature with the key so that the server can verify that there has been no tampering.
No CAPEC attack patterns related to this CWE.