Skip to content

Commit b3ef7b8

Browse files
committed
Report denial-of-service in web-push via malicious Web Push endpoint
1 parent ddccfe8 commit b3ef7b8

File tree

1 file changed

+30
-0
lines changed

1 file changed

+30
-0
lines changed

crates/web-push/RUSTSEC-0000-0000.md

+30
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
```toml
2+
[advisory]
3+
id = "RUSTSEC-0000-0000"
4+
package = "web-push"
5+
date = "2025-02-16"
6+
url = "https://github.com/pimeys/rust-web-push/pull/68"
7+
categories = ["denial-of-service"]
8+
keywords = ["panic", "oom"]
9+
10+
[versions]
11+
patched = [">= 0.10.3"]
12+
```
13+
14+
# Denial of Service via malicious Web Push endpoint
15+
16+
Prior to version 0.10.3, the built-in clients of the `web-push` crate
17+
eagerly allocated memory based on the `Content-Length` header returned by the
18+
Web Push endpoint. Malicious Web Push endpoints could return a large
19+
`Content-Length` without ever having to send as much data, leading to
20+
denial of service by memory exhaustion.
21+
22+
Services providing Web Push notifications typically allow the user to
23+
register an arbitrary endpoint, so the endpoint should not be trusted.
24+
25+
The fixed version 0.10.3 now limits the amount of memory it will allocate
26+
for each response, limits the amount of data it will read from the endpoint,
27+
and returns an error if the endpoint sends too much data.
28+
29+
As before, it is recommended that services add a timeout for each request
30+
to Web Push endpoints.

0 commit comments

Comments
 (0)