Wire: skipGroup() missing negative-length check allows 10-byte payload to crash any Wire-decoding service
Default status is the baseline for the product, each version can override it (e.g. patched versions marked unaffected).
| Vendor | Product | Default status | Versions | |||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| square | wire | affected |
|
Configuration 1 [-]
|
No data.
| Vendor | Product | Versions | ||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Square | Wire |
|
| Source | ID | Title |
|---|---|---|
Github GHSA |
GHSA-7xpr-hc2w-34m9 | Wire: skipGroup() missing negative-length check allows 10-byte payload to crash any Wire-decoding service |
No CVSS v4.0
No CVSS v3.0
No CVSS v2
This CVE is not in the KEV list.
Exploit prediction score: < 1% (0.728% probability within 30 days)
| Type | Values Removed | Values Added |
|---|---|---|
| First Time appeared |
Squareup
Squareup wire |
|
| CPEs | cpe:2.3:a:squareup:wire:*:*:*:*:*:*:*:* cpe:2.3:a:squareup:wire:7.0.0:alpha01:*:*:*:*:*:* cpe:2.3:a:squareup:wire:7.0.0:alpha02:*:*:*:*:*:* |
|
| Vendors & Products |
Squareup
Squareup wire |
| Type | Values Removed | Values Added |
|---|---|---|
| First Time appeared |
Square
Square wire |
|
| Vendors & Products |
Square
Square wire |
| Type | Values Removed | Values Added |
|---|---|---|
| Metrics |
ssvc
|
| Type | Values Removed | Values Added |
|---|---|---|
| Description | Wire provides gRPC and protocol buffers for Android, Kotlin, Swift, and Java. Prior to 6.3.0 and 7.0.0-alpha03, ByteArrayProtoReader32.skipGroup() and ProtoReader.skipGroup() in wire-runtime do not validate that a LENGTH_DELIMITED field length is non-negative before skip(), allowing a crafted protobuf varint encoding -128 as a signed Int to make skip(-128) move the internal position negative and make the next readByte() throw ArrayIndexOutOfBoundsException instead of the documented IOException or ProtocolException, which can crash services using ProtoAdapter.decode(byte[]) on untrusted payloads. This issue is fixed in versions 6.3.0 and 7.0.0-alpha03. | |
| Title | Wire: skipGroup() missing negative-length check allows 10-byte payload to crash any Wire-decoding service | |
| Weaknesses | CWE-129 | |
| References |
|
|
| Metrics |
cvssV3_1
|