Skip to content

Commit 5b5baee

Browse files
author
Maceo Thompson
committed
data/reports: add GO-2022-1148.yaml
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 <tatiana@golang.org> Run-TryBot: Maceo Thompson <maceothompson@google.com> TryBot-Result: Gopher Robot <gobot@golang.org>
1 parent ffba2fd commit 5b5baee

File tree

2 files changed

+190
-0
lines changed

2 files changed

+190
-0
lines changed

data/osv/GO-2022-1148.json

+116
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,116 @@
1+
{
2+
"id": "GO-2022-1148",
3+
"published": "0001-01-01T00:00:00Z",
4+
"modified": "0001-01-01T00:00:00Z",
5+
"aliases": [
6+
"CVE-2022-23492",
7+
"GHSA-j7qp-mfxf-8xjw"
8+
],
9+
"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.",
10+
"affected": [
11+
{
12+
"package": {
13+
"name": "github.com/libp2p/go-libp2p",
14+
"ecosystem": "Go"
15+
},
16+
"ranges": [
17+
{
18+
"type": "SEMVER",
19+
"events": [
20+
{
21+
"introduced": "0"
22+
},
23+
{
24+
"fixed": "0.18.0"
25+
}
26+
]
27+
}
28+
],
29+
"database_specific": {
30+
"url": "https://pkg.go.dev/vuln/GO-2022-1148"
31+
},
32+
"ecosystem_specific": {
33+
"imports": [
34+
{
35+
"path": "github.com/libp2p/go-libp2p",
36+
"symbols": [
37+
"New"
38+
]
39+
},
40+
{
41+
"path": "github.com/libp2p/go-libp2p/config",
42+
"symbols": [
43+
"Config.NewNode",
44+
"MuxerConstructor",
45+
"SecurityConstructor",
46+
"TransportConstructor",
47+
"makeArgumentConstructors",
48+
"makeConstructor",
49+
"makeMuxer",
50+
"makeTransports"
51+
]
52+
},
53+
{
54+
"path": "github.com/libp2p/go-libp2p/p2p/host/autonat",
55+
"symbols": [
56+
"New",
57+
"autoNATService.handleStream",
58+
"client.DialBack"
59+
]
60+
},
61+
{
62+
"path": "github.com/libp2p/go-libp2p/p2p/host/basic",
63+
"symbols": [
64+
"BasicHost.newStreamHandler",
65+
"NewHost"
66+
]
67+
},
68+
{
69+
"path": "github.com/libp2p/go-libp2p/p2p/protocol/circuitv1/relay",
70+
"symbols": [
71+
"NewRelay"
72+
]
73+
},
74+
{
75+
"path": "github.com/libp2p/go-libp2p/p2p/protocol/circuitv2/client",
76+
"symbols": [
77+
"Client.Dial",
78+
"Client.connectV1",
79+
"Client.connectV2"
80+
]
81+
},
82+
{
83+
"path": "github.com/libp2p/go-libp2p/p2p/protocol/circuitv2/relay",
84+
"symbols": [
85+
"New",
86+
"Relay.Close",
87+
"Relay.handleConnect",
88+
"Relay.handleStream"
89+
]
90+
},
91+
{
92+
"path": "github.com/libp2p/go-libp2p/p2p/protocol/holepunch",
93+
"symbols": [
94+
"Service.DirectConnect",
95+
"Service.handleNewStream",
96+
"Service.incomingHolePunch",
97+
"Service.initiateHolePunch",
98+
"netNotifiee.Connected"
99+
]
100+
}
101+
]
102+
}
103+
}
104+
],
105+
"references": [
106+
{
107+
"type": "ADVISORY",
108+
"url": "https://github.com/libp2p/go-libp2p/security/advisories/GHSA-j7qp-mfxf-8xjw"
109+
},
110+
{
111+
"type": "FIX",
112+
"url": "https://github.com/libp2p/go-libp2p/commit/15d7dfbf54264ead8e6f49ca658d79c90635e2de"
113+
}
114+
],
115+
"schema_version": "1.3.1"
116+
}

data/reports/GO-2022-1148.yaml

+74
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,74 @@
1+
modules:
2+
- module: github.com/libp2p/go-libp2p
3+
versions:
4+
- fixed: 0.18.0
5+
vulnerable_at: 0.18.0-rc1
6+
packages:
7+
- package: github.com/libp2p/go-libp2p
8+
symbols:
9+
- New
10+
- package: github.com/libp2p/go-libp2p/config
11+
symbols:
12+
- MuxerConstructor
13+
- makeMuxer
14+
- TransportConstructor
15+
- makeTransports
16+
- makeArgumentConstructors
17+
- makeConstructor
18+
- SecurityConstructor
19+
derived_symbols:
20+
- Config.NewNode
21+
- package: github.com/libp2p/go-libp2p/p2p/host/autonat
22+
symbols:
23+
- client.DialBack
24+
- autoNATService.handleStream
25+
derived_symbols:
26+
- New
27+
- package: github.com/libp2p/go-libp2p/p2p/host/basic
28+
symbols:
29+
- BasicHost.newStreamHandler
30+
derived_symbols:
31+
- NewHost
32+
- package: github.com/libp2p/go-libp2p/p2p/protocol/circuitv1/relay
33+
symbols:
34+
- NewRelay
35+
- package: github.com/libp2p/go-libp2p/p2p/protocol/circuitv2/client
36+
symbols:
37+
- Client.connectV1
38+
- Client.connectV2
39+
- Client.Dial
40+
- package: github.com/libp2p/go-libp2p/p2p/protocol/circuitv2/relay
41+
symbols:
42+
- New
43+
- Relay.Close
44+
- Relay.handleStream
45+
- Relay.handleConnect
46+
- package: github.com/libp2p/go-libp2p/p2p/protocol/holepunch
47+
symbols:
48+
- Service.initiateHolePunch
49+
- Service.incomingHolePunch
50+
- Service.handleNewStream
51+
derived_symbols:
52+
- Service.DirectConnect
53+
- netNotifiee.Connected
54+
description: |
55+
go-libp2p is vulnerable to targeted resource exhaustion attacks. These
56+
attacks target libp2p's connection,stream, peer, and memory management. An
57+
attacker can cause the allocation of large amounts of memory, ultimately
58+
leading to the process getting killed by the host's operating system. While
59+
a connection manager tasked with keeping the number of connections within
60+
manageable limits has been part of go-libp2p, this component was designed
61+
to handle the regular churn of peers, not a targeted resource exhaustion
62+
attack.
63+
64+
It's recommend that you update to v0.21.0 onwards as you'll get some useful
65+
functionality that will help in production environments like better metrics
66+
around resource usage, Grafana dashboards around resource usage, allow list
67+
support, and default autoscaling limits.
68+
cves:
69+
- CVE-2022-23492
70+
ghsas:
71+
- GHSA-j7qp-mfxf-8xjw
72+
references:
73+
- advisory: https://github.com/libp2p/go-libp2p/security/advisories/GHSA-j7qp-mfxf-8xjw
74+
- fix: https://github.com/libp2p/go-libp2p/commit/15d7dfbf54264ead8e6f49ca658d79c90635e2de

0 commit comments

Comments
 (0)