Skip to content

GO-2025-3563 BIT-golang-2025-22871 CVE-2025-22871 GHSA-g9pc-8g42-g6vq

Request smuggling due to acceptance of invalid chunked data in net/http

Critical GoPackagist
Severity
9.1 / 10
Critical · CVSS 3.1
Exploit chance (EPSS)
0.84%
Chance of exploitation in the next 30 days. Higher than 57.94% of scored vulnerabilities.
Known exploited
No
Not in CISA's catalog
Weakness
CWE-1395 Dependency on Vulnerable Third-Party Component
CWE-444 Inconsistent Interpretation of HTTP Requests ('HTTP Request/Response Smuggling')
Fix
Available
2 packages have a fixed version

Description

The net/http package improperly accepts a bare LF as a line terminator in chunked data chunk-size lines. This can permit request smuggling if a net/http server is used in conjunction with a server that incorrectly accepts a bare LF as part of a chunk-ext.

Affected versions

Go

PackageVulnerableFixed in
stdlib
< 1.23.8
>= 1.24.0-0, < 1.24.2
1.23.8
1.24.2

Packagist

PackageVulnerableFixed in
spiral/roadrunner
< 2025.1.0
2025.1.0

How to fix

Move to the fixed version or later with your package manager, update the lockfile, and run your tests. If the package only arrives through another dependency, upgrade that dependency first. If none of its releases pulls a fixed version yet, force the version with your package manager's override.

stdlib Go → 1.24.2

go
go get stdlib@v1.24.2 && go mod tidy

spiral/roadrunner Packagist → 2025.1.0

composer
composer require spiral/roadrunner:^2025.1.0

Severity breakdown

CVSS 3.1 9.1

CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:N

Attack vector
Network
Attack complexity
Low
Privileges required
None
User interaction
None
Scope
Unchanged
Confidentiality
High
Integrity
High
Availability
None

Weakness

CWE-1395: Dependency on Vulnerable Third-Party Component

The product has a dependency on a third-party component that contains one or more known vulnerabilities.

How to prevent it
  • Requirements, Policy: In some industries such as healthcare [REF-1320] [REF-1322] or technologies such as the cloud [REF-1321], it might be unclear about who is responsible for applying patches for third-party vulnerabilities: the vendor, the operator/customer, or a separate service. Clarifying roles and responsibilities can be important to minimize confusion or unnecessary delay when third-party vulnerabilities are disclosed.
  • Requirements: Require a Bill of Materials for all components and sub-components of the product. For software, require a Software Bill of Materials (SBOM) [REF-1247] [REF-1311].
  • Architecture and Design, Implementation, Integration, Manufacturing: Maintain a Bill of Materials for all components and sub-components of the product. For software, maintain a Software Bill of Materials (SBOM). According to [REF-1247], "An SBOM is a formal, machine-readable inventory of software components and dependencies, information about those components, and their hierarchical relationships."
  • Operation, Patching and Maintenance: Actively monitor when a third-party component vendor announces vulnerability patches; fix the third-party component as soon as possible; and make it easy for operators/customers to obtain and apply the patch.
  • Operation, Patching and Maintenance: Continuously monitor changes in each of the product's components, especially when the changes indicate new vulnerabilities, end-of-life (EOL) plans, etc.

CWE-444: Inconsistent Interpretation of HTTP Requests ('HTTP Request/Response Smuggling')

The product acts as an intermediary HTTP agent (such as a proxy or firewall) in the data flow between two entities such as a client and server, but it does not interpret malformed HTTP requests or responses in ways that are consistent with how the messages will be processed by those entities that are at the ultimate destination.

How to prevent it
  • Implementation: Use a web server that employs a strict HTTP parsing procedure, such as Apache [REF-433].
  • Implementation: Use only SSL communication.
  • Implementation: Terminate the client session after each request.
  • System Configuration: Turn all pages to non-cacheable.

References

Timeline

  1. Published
  2. Last updated by the source
  3. Latest EPSS score
AdvisorySeverityWhy it's related
GHSA-4374-p667-p6c8
HTTP/2 rapid reset can cause excessive work in net/http
High Known exploited Also affects stdlib
CVE-2020-0601
Certificate validation bypass on Windows in crypto/x509
High Known exploited Also affects stdlib
RUSTSEC-2026-0382
Distrust compromised intermediate certificates in crypto/x509
Medium Also affects stdlib
GO-2026-6613
HTTP/1 server connection desynchronization after 2xx CONNECT response in net/http
High Also affects stdlib
GO-2026-6609
Lack of limit on size of parsed Range headers in net/http
High Also affects stdlib
GO-2026-6608
Memory limit bypass when parsing MIME headers in net/textproto, mime/multipart
High Also affects stdlib
GO-2026-6607
Reject malformed ECH outer extension references in crypto/tls
High Also affects stdlib
GO-2026-6604
Root.Mkdir(All) can follow junctions out of the root on Windows in os
Critical Also affects stdlib

Credits: Jeppe Bonde Weikop

Is this in your code?

MergeHarbor checks every repository's dependencies against this database, ranks what matters by exploitability and reachability, routes it to the owning team and opens the fix pull request.

Check your repos with MergeHarbor