GO-2020-0019

See a problem?
Source
https://pkg.go.dev/vuln/GO-2020-0019
Import Source
https://vuln.go.dev/ID/GO-2020-0019.json
JSON Data
https://api.osv.dev/v1/vulns/GO-2020-0019
Aliases
Published
2021-04-14T20:04:52Z
Modified
2024-05-20T16:03:47Z
Summary
Integer overflow in github.com/gorilla/websocket
Details

An attacker can craft malicious WebSocket frames that cause an integer overflow in a variable which tracks the number of bytes remaining. This may cause the server or client to get stuck attempting to read frames in a loop, which can be used as a denial of service vector.

References
Credits
    • Max Justicz

Affected packages

Go / github.com/gorilla/websocket

Package

Name
github.com/gorilla/websocket
View open source insights on deps.dev
Purl
pkg:golang/github.com/gorilla/websocket

Affected ranges

Type
SEMVER
Events
Introduced
0Unknown introduced version / All previous versions are affected
Fixed
1.4.1

Ecosystem specific

{
    "imports": [
        {
            "path": "github.com/gorilla/websocket",
            "symbols": [
                "Conn.Close",
                "Conn.NextReader",
                "Conn.NextWriter",
                "Conn.ReadJSON",
                "Conn.ReadMessage",
                "Conn.WriteControl",
                "Conn.WriteJSON",
                "Conn.WriteMessage",
                "Conn.WritePreparedMessage",
                "Conn.advanceFrame",
                "Dialer.Dial",
                "Dialer.DialContext",
                "NewClient",
                "NewPreparedMessage",
                "ReadJSON",
                "Subprotocols",
                "Upgrade",
                "Upgrader.Upgrade",
                "WriteJSON",
                "flateReadWrapper.Read",
                "flateWriteWrapper.Close",
                "flateWriteWrapper.Write",
                "httpProxyDialer.Dial",
                "messageReader.Read",
                "messageWriter.Close",
                "messageWriter.ReadFrom",
                "messageWriter.Write",
                "messageWriter.WriteString",
                "netDialerFunc.Dial",
                "proxy_direct.Dial",
                "proxy_envOnce.Get",
                "proxy_socks5.Dial",
                "truncWriter.Write"
            ]
        }
    ]
}