Skip to main content

OpenWA EUVDEUVD-2026-86295

| CVE-2026-91161 MEDIUM
Incorrect Authorization (CWE-863)
2026-09-24 GitHub_M
6.4
CVSS 3.1 · Vendor: GitHub_M
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Access
    Obtain scoped VIEWER API key
  2. Delivery
    Call invite-code REST/MCP endpoint
  3. Exploit
    Receive transferable group invite code
  4. Execution
    Join group with external WhatsApp account
  5. Impact
    Read and post as persistent member

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A01:2025 - Broken Access Control
ASVS 5.0
V8 - Authorization Authorization logic validation
MITRE ATT&CK

1 technique across 1 tactic: Privilege Escalation

The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up.

Exploitation Conditions

Requires a valid VIEWER-role OpenWA API key scoped to the target session (PR:L) that can reach the GET /api/sessions/{sessionId}/groups/{groupId}/invite-code REST endpoint or the GroupGetInviteCode MCP tool; the session must be started and the account must administer the target group so an invite code exists. Exploitation is only meaningful in deployments that issue VIEWER keys to parties who should NOT be able to add accounts to administered groups - the vendor states OPERATOR and ADMIN access to this capability is intended. Single-operator or trusted-tenant deployments are not practically at risk. No user interaction is required, and the leaked invite code grants group access that persists even after the VIEWER key is revoked.

Impact

This is a genuine but moderate-severity broken-authorization flaw (CWE-863), not a critical remote-code issue. The CVSS 3.1 vector (AV:N/AC:L/PR:L/UI:N/S:C/C:L/I:L/A:N, base 6.4) is internally consistent with the description: network-reachable REST/MCP endpoint, low complexity, requiring a valid but low-privilege VIEWER API key (PR:L), no user interaction, with a scope change (S:C) because the leaked invite code grants access to the WhatsApp group - a system outside OpenWA's authorization boundary. Confidentiality and integrity are Low and availability None, matching 'retrieve an invite code / join and post to a group' rather than full compromise. No EPSS score, no CISA KEV listing, and no public PoC were provided, so there is no signal of active or automated exploitation - no public exploit identified at time of analysis. The most important limiter is baked into the vendor's own framing: the issue only matters in deployments that hand VIEWER keys to parties who should not be able to add accounts to administered groups; in single-tenant or trusted-operator setups the practical risk approaches zero. Net: patch on a normal cycle, prioritize if you delegate scoped VIEWER keys to untrusted third parties.

Exploit ScenarioDerived

An organization issues a session-scoped VIEWER API key to a third party for read-only monitoring of WhatsApp traffic. That party calls GET /api/sessions/{sessionId}/groups/{groupId}/invite-code (or the GroupGetInviteCode MCP tool), receives a live invite code, and shares it with an external WhatsApp account that then joins the administered group to read and post messages - retaining access even after the VIEWER key is later revoked. No public exploit code is known, but exploitation is a single authenticated HTTP GET requiring no special tooling.

This Month Plan within 30 days. Why: MEDIUM severity (CVSS 4.0-6.9).
Patch available 0.2% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – Sep 24, 2026

Incorrect authorization in OpenWA before 0.23.5 lets any caller holding a valid VIEWER-role API key retrieve a group's active invite code through the GET /api/sessions/{sessionId}/groups/{groupId}/invite-code REST endpoint or the equivalent GroupGetInviteCode MCP tool, which enforce no OPERATOR role requirement. Because a WhatsApp invite code is a transferable bearer capability rather than plain read data, an external account can use the leaked code to join a group administered by the session, obtain read and post access, and keep that membership even after the VIEWER key is revoked. The flaw (CWE-863) is a broken-authorization issue rather than a remote-code-execution bug, CVSS 6.4 (AV:N/AC:L/PR:L/UI:N/S:C/C:L/I:L/A:N), requires the victim session to have a started engine and an administered group with an existing invite code, and is only practically dangerous in deployments that hand VIEWER keys to parties who should not be able to add accounts to those groups. No public exploit code or confirmed in-the-wild exploitation was identified at time of analysis; the vendor released a patch in version 0.23.5.

RemediationAI

Vendor-released patch: upgrade OpenWA to version 0.23.5, which enforces the OPERATOR role requirement on both the REST invite-code endpoint and the MCP GroupGetInviteCode tool and updates the API specification, SDK, and MCP integration docs accordingly (see the security advisory at https://github.com/rmyndharis/OpenWA/security/advisories/GHSA-45fh-xj7x-vj2x, PR https://github.com/rmyndharis/OpenWA/pull/1572, commits a888a0121543426d4e1bf55f9edaed8306ae2699 and d66439db9653c7aa7cbfb763003c8d3cbc8f623c, and release https://github.com/rmyndharis/OpenWA/releases/tag/v0.23.5). Where immediate upgrade is not possible, audit which API keys are VIEWER-scoped and either revoke or re-scope any VIEWER key held by a party that should not be able to add accounts to administered groups, restricting those keys to sessions and groups they genuinely need - noting that this only limits the initial leak and does not undo group memberships already created from previously leaked invite codes. Because the leaked invite code is a bearer capability independent of the API key, remediation must also include rotating or resetting invite codes for administered groups and reviewing group membership for unexpected joins, since revoking the VIEWER key alone will not remove an external account that already joined. Patching is strongly preferred: the role-check fix closes both the REST and MCP paths and removes the need for key-scoping workarounds whose trade-off is reduced operator convenience and the risk of lingering VIEWER keys that were never inventoried.

Affected VersionsENISA

OpenWA < 0.23.5

Affected Packages

euvd openwa fix: 0.23.5

Source: OSV (Open Source Vulnerabilities)

Affects your stack

Affects 1 package in euvd

Checking this CVE against your own stacks and servers is part of the Basic plan and up.

Technical ContextAI · show details

OpenWA is a free, self-hosted WhatsApp API gateway that exposes WhatsApp session and group operations over a REST API and an MCP (Model Context Protocol) tool surface. Authorization is role-based, with at least VIEWER, OPERATOR and ADMIN tiers governing which API keys may invoke which operations. The root cause here is CWE-863 (Incorrect Authorization): the invite-code read path - both the REST route and the MCP GroupGetInviteCode tool - was classified as a read operation and therefore only required a valid API key, with no requiredRole enforced. The design intent, per the vendor, is that reading an invite code is not an ordinary data read because the returned value is a join capability for a system outside OpenWA; the fixed documentation explicitly reclassifies it as sitting at OPERATOR, analogous to the QR endpoint, and introduces the notion that even a 'read' tier call can carry a requiredRole when its payload is itself a credential. Because the invite code is ephemeral-but-transferable (a bearer capability), it is decoupled from the OpenWA API key lifecycle: revoking or rotating the VIEWER key does not revoke the group membership the external account already established. The CVSS scope change (S:C) reflects that the compromise crosses a trust boundary from the OpenWA instance into the WhatsApp group itself.

Know when Openwa gets its next vulnerability

  • Watch products and get an email when something new is published
  • Check this CVE against your own stack and servers
  • Exploit and PoC references, threat intelligence from 22 sources

No credit card · 7-day full trial

Severity by source

Vendor (GitHub_M) PRIMARY 6.4 MEDIUM
AV:N/AC:L/PR:L/UI:N/S:C/C:L/I:L/A:N
vuln.today AI 6.4 MEDIUM

Authenticated low-priv VIEWER key (PR:L) over the network, no UI; scope changes to the WhatsApp group (S:C); leaked invite code gives Low confidentiality and Low integrity (join/post), no availability impact.

3.1 AV:N/AC:L/PR:L/UI:N/S:C/C:L/I:L/A:N
4.0 AV:N/AC:L/AT:N/PR:L/UI:N/VC:L/VI:L/VA:N/SC:L/SI:L/SA:N

Primary rating from Vendor (GitHub_M).

CVSS VectorVendor: GitHub_M

Attack Vector
Network
Attack Complexity
Low
Privileges Required
Low
User Interaction
None
Scope
Changed
Confidentiality
Low
Integrity
Low
Availability
None

Lifecycle Timeline

1
Patch available
Sep 24, 2026 - 18:02 EUVD

DescriptionCVE.org

OpenWA is a free, open source, self-hosted WhatsApp API gateway. Prior to 0.23.5, the GET /api/sessions/{sessionId}/groups/{groupId}/invite-code endpoint and the GroupGetInviteCode MCP tool have no OPERATOR role requirement, allowing a valid VIEWER key scoped to a session to retrieve an active group invite code. The invite code is a transferable WhatsApp bearer capability, so an external account can join a group administered by the session without an OpenWA credential, gain read and post access to the group, and retain membership after the VIEWER key is revoked. Affected deployments are those that issue VIEWER keys to parties who should not be able to add accounts to administered groups; OPERATOR and ADMIN access is intended. This issue is fixed in version 0.23.5.

Threat Intelligence Overview

EPSS Score
0.2%
Top 94% exploitable
Prevalence
Low
niche self-hosted open-source WhatsApp API gateway, small deployment footprint
Data Quality
5 sources
Confidence: Medium

How this decision was reached

The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.

SignalValue
Severity MEDIUM
CISA KEV No
Public POC No
EPSS 0.2%
Patch available Yes
Active threat No
Deciding rule
MEDIUM severity (CVSS 4.0-6.9)
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision· derived
Scheduled
Exploitation· derived
None
System Exposure· derived
Open
Automatable· derived
No
Human Impact· derived
Medium

Priority Score

32
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +32
PoC: 0
Weaponized: 0
Threat intel: 0
Gov advisory: 0

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy