Skip to content
Heist/ feed
HighFix available

SIPGO: DoS via unvalidated WebSocket frame length

Type: advisorySource: OSV2 source records

### Summary The WebSocket transport allocates a buffer from the frame payload length before validating its size, which can lead to an unauthenticated DoS. ### Details `WSConnection.Read` allocates a buffer from the declared WebSocket frame length before reading the payload (https://github.com/emiago/sipgo/blob/v1.4.0/sip/transport_ws.go#L400): ```go data := make([]byte, header.Length) // header.Length is client-controlled, up to 2^63-1 (int64) ``` - `NextFrame()` reads only the frame header and never checks the length: `wsutil.NewReader` is created with no [`MaxFrameSize`](https://pkg.go.dev/github.com/gobwas/ws@v1.3.2/wsutil#Reader.MaxFrameSize) (`0` = unlimited). `ParseMaxMessageLength` applies only downstream, not here. - A value above the max slice size (e.g. `2^63-1`) panics `make`. sipgo does not recover from this panic, so it crashes the whole server process. ### PoC Tested on emiago/sipgo v1.4.0 (latest). After a normal WebSocket handshake, send one masked text frame consisting of the header only (no payload), declaring a huge length. The allocation runs as soon as the header is read. ``` 0x81 FIN + text opcode 0xFF MASK bit + length marker 127 (8-byte length follows) 0x7F FF FF FF FF FF FF FF declared length = 2^63-1 -> make panics (crash) <4-byte masking key> (no payload) ``` This crashes the server process: ``` panic: runtime error: makeslice: len out of range goroutine 23 [running]: github.com/emiago/sipgo/sip.(*WSConnection).Read(...) /path/to/pkg/mod/github.com/

Announced Group revision 1
Original source ↗

GHSA-8h6x-h86x-75wh

Primary source · Revision 1

Imported from structured advisory data. Source references identify upstream records or fields; verify affected versions and your deployed configuration.

Security context

Source reference: osv:GHSA-8h6x-h86x-75wh

github.com/emiago/sipgo

Source reference: /affected/0/package/name

Affected versions
Not stated in this record
Fixed versions
1.4.3

Source reference: /affected/0/ranges

Prerequisites
Not stated in this record

Structured affected-version data

Original package identities and version rules from this source.

[
  {
    "ranges": [
      {
        "type": "SEMVER",
        "events": [
          {
            "introduced": "0"
          },
          {
            "fixed": "1.4.3"
          }
        ]
      }
    ],
    "package": {
      "name": "github.com/emiago/sipgo",
      "purl": "pkg:golang/github.com/emiago/sipgo",
      "ecosystem": "Go"
    },
    "database_specific": {
      "source": "https://github.com/github/advisory-database/blob/main/advisories/github-reviewed/2026/09/GHSA-8h6x-h86x-75wh/GHSA-8h6x-h86x-75wh.json",
      "last_known_affected_version_range": "<= 1.4.2"
    }
  }
]
Related CVEs
CVE-2026-77322

Source reference: /aliases

Publisher severity

high

Source reference: /database_specific/severity

Event
#63955 · Revision 1
Added to Heist Feed
Publisher date
Read the original announcement

GO-2026-6559

Revision 2

SIPGO: DoS via unvalidated WebSocket frame length in github.com/emiago/sipgo

SIPGO: DoS via unvalidated WebSocket frame length in github.com/emiago/sipgo

Imported from structured advisory data. Source references identify upstream records or fields; verify affected versions and your deployed configuration.

Security context

Source reference: osv:GO-2026-6559

github.com/emiago/sipgo

Source reference: /affected/0/package/name

Affected versions
Not stated in this record
Fixed versions
1.4.3

Source reference: /affected/0/ranges

Prerequisites
Not stated in this record

Structured affected-version data

Original package identities and version rules from this source.

[
  {
    "ranges": [
      {
        "type": "SEMVER",
        "events": [
          {
            "introduced": "0"
          },
          {
            "fixed": "1.4.3"
          }
        ]
      }
    ],
    "package": {
      "name": "github.com/emiago/sipgo",
      "purl": "pkg:golang/github.com/emiago/sipgo",
      "ecosystem": "Go"
    },
    "database_specific": {
      "source": "https://vuln.go.dev/ID/GO-2026-6559.json"
    },
    "ecosystem_specific": {}
  }
]
Related CVEs
CVE-2026-77322

Source reference: /aliases

Publisher severity

No explicit severity was provided.

Linked CVE context

These ratings describe the referenced vulnerabilities and products. They are not a severity rating for every application using this dependency.

CVE-2026-77322 · High

github.com/emiago/sipgo

Event
#63956 · Revision 2
Added to Heist Feed
Publisher date
Read the original announcement