Skip to content
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
lint, check links
Signed-off-by: Juraci Paixão Kröhling <[email protected]>
  • Loading branch information
jpkrohling committed Jun 5, 2024
commit adfab588b28e6594e2852511ae16d6534fe2c4a9
43 changes: 21 additions & 22 deletions content/en/blog/2024/cve-2024-36129/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -14,38 +14,37 @@ a security audit sponsored by the [CNCF](https://www.cncf.io/), facilitated by
[OSTIF](https://ostif.org/), and performed by
[7ASecurity](https://7asecurity.com/). During this process, we have received a
few ideas about things that we could do better, like using specific compiler
flags when preparing our [OpenTelemetry Collector
binaries](https://github.com/open-telemetry/opentelemetry-collector-releases/releases).
On 31 May 2024, we received [a more serious
report](https://github.com/open-telemetry/opentelemetry-collector/security/advisories/GHSA-c74f-6mfw-mm4v):
flags when preparing our
[OpenTelemetry Collector binaries](https://github.com/open-telemetry/opentelemetry-collector-releases/releases).
On 31 May 2024, we received
[a more serious report](https://github.com/open-telemetry/opentelemetry-collector/security/advisories/GHSA-c74f-6mfw-mm4v):
a malicious user could cause a denial of service (DoS) when using a specially
crafted HTTP or gRPC request. The advisory was assigned the following CVE
identifier: [CVE-2024-36129](https://nvd.nist.gov/vuln/detail/CVE-2024-36129).

When sending an HTTP request with a compressed payload, the Collector would
verify only whether the compressed payload is beyond a certain limit, but not
its uncompressed version. A malicious payload could then send a “[compressed
bomb](https://en.wikipedia.org/wiki/Zip_bomb)”, causing the Collector to crash.
its uncompressed version. A malicious payload could then send a
“[compressed bomb](https://en.wikipedia.org/wiki/Zip_bomb)”, causing the
Collector to crash.

Similarly, when sending a gRPC request using zstd compression, the decompression
mechanism would not respect the limits imposed by gRPC, also causing the
Collector to crash while decompressing the malicious payload.

A few business hours after the report, on 03 June 2024, Collector developers
were able to reproduce the report related to HTTP and worked together on a fix
that [got merged the same
day](https://github.com/open-telemetry/opentelemetry-collector/pull/10289).
that
[got merged the same day](https://github.com/open-telemetry/opentelemetry-collector/pull/10289).
Given the high score of this issue, we’ve decided to hold the release that would
have happened on the same day, [completing
it](https://github.com/open-telemetry/opentelemetry-collector-releases/releases/tag/v0.102.0)
have happened on the same day,
[completing it](https://github.com/open-telemetry/opentelemetry-collector-releases/releases/tag/v0.102.0)
on 04 June 2024 instead.

After the release, we got a confirmation that gRPC with zstd was also affected.
Within a few business hours of the confirmation, we worked on a fix that also
[got merged the same
day](https://github.com/open-telemetry/opentelemetry-collector/pull/10323). [We
released
v0.102.1](https://github.com/open-telemetry/opentelemetry-collector-releases/releases/tag/v0.102.1)
[got merged the same day](https://github.com/open-telemetry/opentelemetry-collector/pull/10323).
[We released v0.102.1](https://github.com/open-telemetry/opentelemetry-collector-releases/releases/tag/v0.102.1)
right after that.

## Am I affected?
Expand Down Expand Up @@ -93,9 +92,9 @@ If your Collector instances are receiving data only from trusted clients, like
your own applications, you are still encouraged to upgrade to the latest
Collector version but you can do it at your regular pace.

If you are using a custom distribution and building it with the [OpenTelemetry
Collector Builder
(ocb)](https://opentelemetry.io/docs/collector/custom-collector/), you can add a
If you are using a custom distribution and building it with the
[OpenTelemetry Collector Builder (ocb)](https://opentelemetry.io/docs/collector/custom-collector/),
you can add a
[“replaces”](https://github.com/open-telemetry/opentelemetry-collector/tree/main/cmd/builder#configuration)
entry pointing to the latest version of the
[confighttp](http://go.opentelemetry.io/collector/config/confighttp) and
Expand All @@ -116,11 +115,11 @@ upgrade the Collector. We are working to fill those gaps over the next releases.

We are also working on stabilizing the component.UseLocalHostAsDefaultHost
feature gate to reduce exposure of all Collector endpoints by default. This
feature gate was motivated by a previous, [similar vulnerability on Go's
standard library](https://github.com/advisories/GHSA-4374-p667-p6c8) and has
been in alpha for several months. You can follow the discussion surrounding
stabilization at [issue
8510](https://github.com/open-telemetry/opentelemetry-collector/issues/8510).
feature gate was motivated by a previous,
[similar vulnerability on Go's standard library](https://github.com/advisories/GHSA-4374-p667-p6c8)
and has been in alpha for several months. You can follow the discussion
surrounding stabilization at
[issue 8510](https://github.com/open-telemetry/opentelemetry-collector/issues/8510).

This issue was identified by [Miroslav Stampar](https://github.com/stamparm/),
from 7ASecurity. We’d like to thank 7ASecurity for the responsible reporting of
Expand Down
8 changes: 4 additions & 4 deletions static/refcache.json
Original file line number Diff line number Diff line change
Expand Up @@ -3232,8 +3232,8 @@
"LastSeen": "2024-06-04T17:29:53.270047268+02:00"
},
"https://github.com/open-telemetry/opentelemetry-collector-releases/releases/tag/v0.102.1": {
"StatusCode": 404,
"LastSeen": "2024-06-05T14:38:00.277846076+02:00"
"StatusCode": 200,
"LastSeen": "2024-06-05T18:14:20.086786151+02:00"
},
"https://github.com/open-telemetry/opentelemetry-collector-releases/releases/tag/v0.74.0": {
"StatusCode": 200,
Expand Down Expand Up @@ -3344,8 +3344,8 @@
"LastSeen": "2024-01-30T15:25:16.610744-05:00"
},
"https://github.com/open-telemetry/opentelemetry-collector/security/advisories/GHSA-c74f-6mfw-mm4v": {
"StatusCode": 404,
"LastSeen": "2024-06-05T14:37:58.550003406+02:00"
"StatusCode": 200,
"LastSeen": "2024-06-05T18:14:19.254754319+02:00"
},
"https://github.com/open-telemetry/opentelemetry-configuration": {
"StatusCode": 200,
Expand Down