Vulnerabilities

2 via 2 paths

Dependencies

11

Source

GitHub

Commit

8c82c421

Find, fix and prevent vulnerabilities in your code.

Severity
  • 1
  • 1
Status
  • 2
  • 0
  • 0

high severity

HTTP Request Smuggling

  • Vulnerable module: webrick
  • Introduced through: webrick@1.8.1

Detailed paths

  • Introduced through: 1gor/htmg@1gor/htmg#8c82c421da1689d31d1f766c9842198a5fea73f6 webrick@1.8.1
    Remediation: Upgrade to webrick@1.8.2.

Overview

webrick is a HTTP server toolkit that can be configured as an HTTPS server, a proxy server, and a virtual-host server.

Affected versions of this package are vulnerable to HTTP Request Smuggling via the read_headers method. An attacker can exploit inconsistent parsing of HTTP header terminators to inject arbitrary HTTP requests.

Note:

This is only exploitable if the application is deployed behind an HTTP proxy that fulfils specific conditions.

Remediation

Upgrade webrick to version 1.8.2 or higher.

References

medium severity

HTTP Request Smuggling

  • Vulnerable module: webrick
  • Introduced through: webrick@1.8.1

Detailed paths

  • Introduced through: 1gor/htmg@1gor/htmg#8c82c421da1689d31d1f766c9842198a5fea73f6 webrick@1.8.1
    Remediation: Upgrade to webrick@1.8.2.

Overview

webrick is a HTTP server toolkit that can be configured as an HTTPS server, a proxy server, and a virtual-host server.

Affected versions of this package are vulnerable to HTTP Request Smuggling when httprequest.rb processes a request with both Content-Length and Transfer-Encoding headers. An attacker can send a GET /admin inside a POST /user to trick the server into treating the second one as a legitimate request, exposing unintended data.

Note: The package maintainers instruct users not to use this package in production and that it is no longer part of the Ruby language although it was in the past.

PoC

POST /user HTTP/1.1
Host: 127.0.0.1:8000
Content-Length: 50
Transfer-Encoding: chunked

0

GET /admin HTTP/1.1
Host: 127.0.0.1:8000

Remediation

Upgrade webrick to version 1.8.2 or higher.

References