Skip to content

Commit

Permalink
data/reports: add GO-2022-1148.yaml
Browse files Browse the repository at this point in the history
Aliases: CVE-2022-23492, GHSA-j7qp-mfxf-8xjw

Fixes #1148

Change-Id: I69e1665e846e7f92246e3af192a891cb152ada94
Reviewed-on: https://go-review.googlesource.com/c/vulndb/+/457396
Reviewed-by: Tatiana Bradley <[email protected]>
Run-TryBot: Maceo Thompson <[email protected]>
TryBot-Result: Gopher Robot <[email protected]>
  • Loading branch information
Maceo Thompson committed Dec 14, 2022
1 parent ffba2fd commit 5b5baee
Show file tree
Hide file tree
Showing 2 changed files with 190 additions and 0 deletions.
116 changes: 116 additions & 0 deletions data/osv/GO-2022-1148.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,116 @@
{
"id": "GO-2022-1148",
"published": "0001-01-01T00:00:00Z",
"modified": "0001-01-01T00:00:00Z",
"aliases": [
"CVE-2022-23492",
"GHSA-j7qp-mfxf-8xjw"
],
"details": "go-libp2p is vulnerable to targeted resource exhaustion attacks. These attacks target libp2p's connection,stream, peer, and memory management. An attacker can cause the allocation of large amounts of memory, ultimately leading to the process getting killed by the host's operating system. While a connection manager tasked with keeping the number of connections within manageable limits has been part of go-libp2p, this component was designed to handle the regular churn of peers, not a targeted resource exhaustion attack.\n\nIt's recommend that you update to v0.21.0 onwards as you'll get some useful functionality that will help in production environments like better metrics around resource usage, Grafana dashboards around resource usage, allow list support, and default autoscaling limits.",
"affected": [
{
"package": {
"name": "github.com/libp2p/go-libp2p",
"ecosystem": "Go"
},
"ranges": [
{
"type": "SEMVER",
"events": [
{
"introduced": "0"
},
{
"fixed": "0.18.0"
}
]
}
],
"database_specific": {
"url": "https://pkg.go.dev/vuln/GO-2022-1148"
},
"ecosystem_specific": {
"imports": [
{
"path": "github.com/libp2p/go-libp2p",
"symbols": [
"New"
]
},
{
"path": "github.com/libp2p/go-libp2p/config",
"symbols": [
"Config.NewNode",
"MuxerConstructor",
"SecurityConstructor",
"TransportConstructor",
"makeArgumentConstructors",
"makeConstructor",
"makeMuxer",
"makeTransports"
]
},
{
"path": "github.com/libp2p/go-libp2p/p2p/host/autonat",
"symbols": [
"New",
"autoNATService.handleStream",
"client.DialBack"
]
},
{
"path": "github.com/libp2p/go-libp2p/p2p/host/basic",
"symbols": [
"BasicHost.newStreamHandler",
"NewHost"
]
},
{
"path": "github.com/libp2p/go-libp2p/p2p/protocol/circuitv1/relay",
"symbols": [
"NewRelay"
]
},
{
"path": "github.com/libp2p/go-libp2p/p2p/protocol/circuitv2/client",
"symbols": [
"Client.Dial",
"Client.connectV1",
"Client.connectV2"
]
},
{
"path": "github.com/libp2p/go-libp2p/p2p/protocol/circuitv2/relay",
"symbols": [
"New",
"Relay.Close",
"Relay.handleConnect",
"Relay.handleStream"
]
},
{
"path": "github.com/libp2p/go-libp2p/p2p/protocol/holepunch",
"symbols": [
"Service.DirectConnect",
"Service.handleNewStream",
"Service.incomingHolePunch",
"Service.initiateHolePunch",
"netNotifiee.Connected"
]
}
]
}
}
],
"references": [
{
"type": "ADVISORY",
"url": "https://github.com/libp2p/go-libp2p/security/advisories/GHSA-j7qp-mfxf-8xjw"
},
{
"type": "FIX",
"url": "https://github.com/libp2p/go-libp2p/commit/15d7dfbf54264ead8e6f49ca658d79c90635e2de"
}
],
"schema_version": "1.3.1"
}
74 changes: 74 additions & 0 deletions data/reports/GO-2022-1148.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,74 @@
modules:
- module: github.com/libp2p/go-libp2p
versions:
- fixed: 0.18.0
vulnerable_at: 0.18.0-rc1
packages:
- package: github.com/libp2p/go-libp2p
symbols:
- New
- package: github.com/libp2p/go-libp2p/config
symbols:
- MuxerConstructor
- makeMuxer
- TransportConstructor
- makeTransports
- makeArgumentConstructors
- makeConstructor
- SecurityConstructor
derived_symbols:
- Config.NewNode
- package: github.com/libp2p/go-libp2p/p2p/host/autonat
symbols:
- client.DialBack
- autoNATService.handleStream
derived_symbols:
- New
- package: github.com/libp2p/go-libp2p/p2p/host/basic
symbols:
- BasicHost.newStreamHandler
derived_symbols:
- NewHost
- package: github.com/libp2p/go-libp2p/p2p/protocol/circuitv1/relay
symbols:
- NewRelay
- package: github.com/libp2p/go-libp2p/p2p/protocol/circuitv2/client
symbols:
- Client.connectV1
- Client.connectV2
- Client.Dial
- package: github.com/libp2p/go-libp2p/p2p/protocol/circuitv2/relay
symbols:
- New
- Relay.Close
- Relay.handleStream
- Relay.handleConnect
- package: github.com/libp2p/go-libp2p/p2p/protocol/holepunch
symbols:
- Service.initiateHolePunch
- Service.incomingHolePunch
- Service.handleNewStream
derived_symbols:
- Service.DirectConnect
- netNotifiee.Connected
description: |
go-libp2p is vulnerable to targeted resource exhaustion attacks. These
attacks target libp2p's connection,stream, peer, and memory management. An
attacker can cause the allocation of large amounts of memory, ultimately
leading to the process getting killed by the host's operating system. While
a connection manager tasked with keeping the number of connections within
manageable limits has been part of go-libp2p, this component was designed
to handle the regular churn of peers, not a targeted resource exhaustion
attack.
It's recommend that you update to v0.21.0 onwards as you'll get some useful
functionality that will help in production environments like better metrics
around resource usage, Grafana dashboards around resource usage, allow list
support, and default autoscaling limits.
cves:
- CVE-2022-23492
ghsas:
- GHSA-j7qp-mfxf-8xjw
references:
- advisory: https://github.com/libp2p/go-libp2p/security/advisories/GHSA-j7qp-mfxf-8xjw
- fix: https://github.com/libp2p/go-libp2p/commit/15d7dfbf54264ead8e6f49ca658d79c90635e2de

0 comments on commit 5b5baee

Please sign in to comment.