| { | 
 |   "schema_version": "1.3.1", | 
 |   "id": "GO-2020-0019", | 
 |   "modified": "0001-01-01T00:00:00Z", | 
 |   "published": "2021-04-14T20:04:52Z", | 
 |   "aliases": [ | 
 |     "CVE-2020-27813", | 
 |     "GHSA-3xh2-74w9-5vxm" | 
 |   ], | 
 |   "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.", | 
 |   "affected": [ | 
 |     { | 
 |       "package": { | 
 |         "name": "github.com/gorilla/websocket", | 
 |         "ecosystem": "Go" | 
 |       }, | 
 |       "ranges": [ | 
 |         { | 
 |           "type": "SEMVER", | 
 |           "events": [ | 
 |             { | 
 |               "introduced": "0" | 
 |             }, | 
 |             { | 
 |               "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" | 
 |             ] | 
 |           } | 
 |         ] | 
 |       } | 
 |     } | 
 |   ], | 
 |   "references": [ | 
 |     { | 
 |       "type": "FIX", | 
 |       "url": "https://github.com/gorilla/websocket/pull/537" | 
 |     }, | 
 |     { | 
 |       "type": "FIX", | 
 |       "url": "https://github.com/gorilla/websocket/commit/5b740c29263eb386f33f265561c8262522f19d37" | 
 |     } | 
 |   ], | 
 |   "credits": [ | 
 |     { | 
 |       "name": "Max Justicz" | 
 |     } | 
 |   ], | 
 |   "database_specific": { | 
 |     "url": "https://pkg.go.dev/vuln/GO-2020-0019" | 
 |   } | 
 | } |