Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessReach endpoint decoding untrusted protobuf
-
DeliveryCraft message with oversized length varint
-
ExploitLength wraps cursor past logical boundary
-
ExecutionEscape negative-length check
-
PersistTrigger trap or huge allocation
-
ImpactDenial of service
Vulnerability Assessment
| Weakness |
CWE
ASVS 5.0
V15 - Secure Coding and Architecture Integer overflow checks
MITRE ATT&CK
1 technique across 1 tactic: Execution The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up. |
| Exploitation Conditions | Exploitation requires that the target application uses Square Wire (< 6.4.5, or the 7.0.0 pre-release line before 7.0.0-alpha04) to decode protobuf bytes that an attacker can influence - specifically via Kotlin ProtoAdapter.decode(ByteArray/ByteString) (ByteArrayProtoReader32.internalNextLengthDelimited), or the Swift ProtoDecoder.decodeSizeDelimited / ProtoReader / ReadBuffer.readVarint paths. The malformed input is a length-delimited field whose positive oversized length varint wraps the cursor to a negative limit. No authentication or user interaction is needed (PR:N/UI:N). The practical limiting factor is reachability: the attacker must be able to deliver crafted protobuf bytes to a decode call, so risk is highest for network services parsing untrusted messages and lower for apps that only decode trusted/local data. Impact is confined to availability (crash/allocation exhaustion); no data exposure or code execution. |
| Impact | The CVSS 3.1 vector (AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H, base 7.5) is internally consistent with the description: a low-complexity, unauthenticated, remote issue with availability-only impact and no confidentiality, integrity, or code-execution consequences (explicitly stated by the vendor). No EPSS score, no CISA KEV listing, and no public exploit code were provided, so all three exploitation-likelihood signals are absent or negative. The AV:N rating is conditional on how Wire is embedded: it is a protobuf/gRPC parsing library, so network reachability depends on the host application actually decoding attacker-supplied protobuf bytes over the wire (a common but not universal deployment). The realistic priority is moderate-to-low: this is a genuine DoS in a widely-used library, easy to trigger where reachable, but bounded to availability with no evidence of active exploitation. Treat it as a dependency-hygiene patch rather than an emergency; teams parsing untrusted protobuf from network peers should prioritize higher. CWE-190 (integer overflow) matches the described pos+length wraparound to a negative limit. |
| Exploit ScenarioDerived | An attacker sends a crafted protobuf message with a positive oversized length-delimited field to a service or app that decodes it via Wire (e.g. ProtoAdapter.decode in Kotlin or ProtoDecoder.decodeSizeDelimited in Swift). The oversized length wraps the cursor to a negative limit, escaping the negative-length check, causing an unchecked exception/trap, out-of-bounds behavior, or an enormous allocation that crashes or exhausts the process. No public weaponized exploit is identified, though the fix PR ships test vectors (e.g. UInt64.max size varint) that demonstrate the malformed inputs. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Sep 16, 2026
Denial of service in Square Wire (the gRPC/protobuf runtime for Kotlin, Java, Swift, and Android) affects all releases before 6.4.5 and the 7.0.0 pre-release line before 7.0.0-alpha04, where attacker-supplied protobuf bytes containing an oversized length-delimited field can crash or exhaust memory in the decoder. The flaw is remotely reachable and unauthenticated (CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H, base 7.5), with impact limited strictly to availability - the vendor states there is no confidentiality, integrity, or code-execution consequence. Exploitation requires that a target service actually decodes untrusted Wire protobuf messages; no public exploit code was identified at time of analysis and the issue does not appear in CISA KEV, so risk is concentrated in network-facing endpoints that parse arbitrary protobuf payloads.
RemediationAI
Vendor-released patch: upgrade to Square Wire 6.4.5 (stable line) or 7.0.0-alpha04 (7.0.0 pre-release line), per the advisory at https://github.com/square/wire/security/advisories/GHSA-9rm7-3qhh-h2mc and the releases at https://github.com/square/wire/releases/tag/6.4.5 and https://github.com/square/wire/releases/tag/7.0.0-alpha04; the code changes are in PR https://github.com/square/wire/pull/3635 (commits 082d5d83cec57ef68f1dd7d3e3d1d641c1fb670f and 25ebcabb9ab7f12d1d77af75ecbc51726fddc015). If upgrading is not immediately possible, apply compensating controls at the message boundary rather than inside the decoder: enforce an explicit maximum message size on the transport or gRPC layer (max inbound message length) and reject any frame whose declared length-delimited size exceeds the actual remaining payload - this prevents the wrapped cursor from ever being reachable, at the cost of capping legitimate large messages and requiring configuration changes on every ingress path. Additionally, wrap all decode() calls in exception/error handling and isolate decoding in a separate process or worker pool so that unchecked exceptions, traps, or allocation spikes degrade only that worker rather than the host service; the trade-off is added process-management complexity and modest latency overhead. Do not rely on decoding only trusted data as a mitigation for network-exposed services, since the entire issue is reachability-dependent and any externally influenced protobuf input is sufficient to trigger it.
Affected VersionsENISA
Affected Packages
Source: OSV (Open Source Vulnerabilities)
Affects your stack
Affects 3 packages in maven, euvd
Checking this CVE against your own stacks and servers is part of the Basic plan and up.
Technical ContextAI · show details
Wire implements protocol buffers and gRPC bindings across Kotlin/Java, Swift, and Android, and the defect is a classic integer-overflow-to-bounds-check-bypass (CWE-190) in the low-level length-delimited read path. In the Kotlin runtime, ProtoAdapter.decode(ByteArray) and ProtoAdapter.decode(ByteString) route through ByteArrayProtoReader32.internalNextLengthDelimited(), where a positive oversized length value can wrap the computed pos + length cursor past integer range into a negative limit, evading the existing negative-length guard. The same class of defect appears in sibling paths: ProtoReader, ReadBuffer.readVarint(), ReadBuffer.verifyAdditional(count:), packed-repeated and nested-message decoding, and Swift's ProtoDecoder.decodeSizeDelimited(_:from:), which could perform pointer arithmetic, reserve capacity, or convert a size that is unrepresentable in the target integer width before ever proving the requested bytes are present in the buffer. The upstream fix hardens this by replacing raw pointer arithmetic with a throwing endPointer(count:) helper that computes remaining bytes (end - pointer), asserts count >= 0, remainingCount >= 0, and count <= remainingCount, and by validating that varint sizes are exactly representable (Int(exactly:)) before any advance, read, or allocation. The affected package is tracked as cpe:2.3:a:square:wire:*:*:*:*:*:*:*:*.
Know when Wire 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
AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
Unauthenticated low-complexity decode of attacker-supplied protobuf yields availability-only impact; AV:N assumes network-reachable decoding, C/I:N per vendor's DoS-only finding.
Primary rating from Vendor (GitHub_M).
CVSS VectorVendor: GitHub_M
Lifecycle Timeline
2DescriptionCVE.org
Wire provides gRPC and protocol buffers for Android, Kotlin, Swift, and Java. Prior to 6.4.5 and 7.0.0-alpha04, Wire protobuf readers do not consistently validate attacker-controlled lengths against the current logical message boundary before advancing cursors, pointers, limits, slices, or allocations. In Kotlin, ProtoAdapter.decode(ByteArray) and ProtoAdapter.decode(ByteString) use ByteArrayProtoReader32.internalNextLengthDelimited(), where a positive oversized length can wrap pos + length to a negative limit and escape the existing negative-length check. Related ProtoReader, ReadBuffer.readVarint(), ReadBuffer.verifyAdditional(count:), packed-repeated, nested-message, and ProtoDecoder.decodeSizeDelimited(_:from:) paths can cross logical boundaries, perform pointer arithmetic, reserve capacity, or convert an unrepresentable size before proving the requested bytes exist. An attacker who supplies malformed protobuf bytes can cause unchecked exceptions, traps, out-of-bounds behavior, or excessive allocation, resulting in denial of service without known confidentiality, integrity, or code-execution impact. This issue is fixed in versions 6.4.5 and 7.0.0-alpha04.
Blast Radius
ecosystem impact- 3 maven packages depend on com.squareup.wire:wire-runtime (2 direct, 1 indirect)
Ecosystem-wide dependent count for version 7.0.0-alpha01.
Technical POC Analysis
CWE-190 (integer overflow / wraparound).
Full technical POC analysis - root cause, step-by-step exploitation and patch breakdown - is part of the Pro and Business plans.
Executive ViewAI
A denial-of-service flaw in Square Wire - the gRPC/protobuf runtime embedded in Kotlin, Java, Swift, and Android services - allows unauthenticated network traffic to crash or exhaust memory in any service that decodes untrusted Wire protobuf messages. The vendor confirms the impact is confined to availability, with no data exposure, tampering, or code-execution consequence. Leadership should care because customer- or partner-facing endpoints built on this library can be knocked offline by malformed payloads, even though no public exploit code or active exploitation has been identified at this time.
Vendor-released patch: upgrade to Square Wire 6.4.5, or 7.0.0-alpha04 on the 7.0.0 pre-release line. Until upgrades are complete, enforce maximum request and message sizes plus rate limits at the network edge, cap memory and set restart policies on decoding services, and avoid decoding protobuf from untrusted sources where feasible.
Threat Intelligence Overview
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.
What every action level means
SSVC AssessmentENISA
Priority Score
Attack Technique
Integer overflow occurs when an arithmetic operation produces a result that exceeds the maximum value a given integer type can store.
Denial of Service attacks render applications or systems unavailable by overwhelming resources or triggering failure conditions.
Wire before 2020-10-16 allows remote attackers to cause a denial of service (application crash) or possibly execute arbi
Restund is an open source NAT traversal server. Rated critical severity (CVSS 9.6), this vulnerability is remotely explo
Due to how Wire handles type information in its serialization format, malicious payloads can be passed to a deserializer
In Wire before 3.20.x, `shell.openExternal` was used without checking the URL. Rated high severity (CVSS 8.0), this vuln
The Wire application before 2018-03-07 for Android allows attackers to write to pathnames outside of the downloads direc
wire-webapp is the web version of Wire, an open-source messenger. Rated medium severity (CVSS 6.1), this vulnerability i
Wire-server is the backing server for the open source wire secure messaging application. Rated critical severity (CVSS 9
Wire is an open source secure messenger. Rated critical severity (CVSS 9.8), this vulnerability is remotely exploitable,
wire-avs provides Audio, Visual, and Signaling (AVS) functionality sure the secure messaging software Wire. Rated high s
Wire through 3.22.3993 on Windows advertises deletion of sent messages; nonetheless, all messages can be retrieved (for
Wire is an encrypted communication and collaboration platform. Rated high severity (CVSS 8.1), this vulnerability is rem
wire-server provides back end services for Wire, an open source messenger. Rated high severity (CVSS 8.1), this vulnerab
EUVD-2026-80937
GHSA-9rm7-3qhh-h2mc
NVD
CVE.org
EPSS
Vulnrichment
Exploit-DB