Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merge multiple cookie headers, preserving semantic correctness. #130

Merged
merged 2 commits into from
Jun 8, 2024

Conversation

ioquatix
Copy link
Member

@ioquatix ioquatix commented Jun 7, 2024

HTTP/1 specifies user agent MUST only give one cookie header. However, in practice, servers should be robust when encountering more than one, merging them, and preserving the semantics.

WEBrick already correctly handles this case, but it fails to correct expose the headers.

See socketry/rack-conform#19 for more context.

@ioquatix ioquatix force-pushed the merge-cookies branch 3 times, most recently from 38a8c14 to ebbd406 Compare June 7, 2024 04:20
@ioquatix
Copy link
Member Author

ioquatix commented Jun 7, 2024

@hsbt CI is failing for < 2.6 on macOS:

Error: Error: CRuby < 2.6 does not support macos-arm64.
        Either use a newer Ruby version or use a macOS image running on amd64, e.g., macos-13 or macos-12.
        Note that GitHub changed the meaning of macos-latest from macos-12 (amd64) to macos-14 (arm64):
        https://github.blog/changelog/2024-04-01-macos-14-sonoma-is-generally-available-and-the-latest-macos-runner-image/
    at validateRubyEngineAndVersion (/Users/runner/work/_actions/ruby/setup-ruby/v1/dist/index.js:65910:11)
    at setupRuby (/Users/runner/work/_actions/ruby/setup-ruby/v1/dist/index.js:65802:15)
    at run (/Users/runner/work/_actions/ruby/setup-ruby/v1/dist/index.js:65761:11)
    at /Users/runner/work/_actions/ruby/setup-ruby/v1/dist/index.js:65944:40
    at /Users/runner/work/_actions/ruby/setup-ruby/v1/dist/index.js:65946:3
    at Object.<anonymous> (/Users/runner/work/_actions/ruby/setup-ruby/v1/dist/index.js:65949:12)
    at Module._compile (node:internal/modules/cjs/loader:1358:14)
    at Module._extensions..js (node:internal/modules/cjs/loader:1416:10)
    at Module.load (node:internal/modules/cjs/loader:1208:32)
    at Module._load (node:internal/modules/cjs/loader:1024:12)

Copy link
Contributor

@jeremyevans jeremyevans left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The cookie fix looks good. Please drop the minimum version change from this PR, since it is unrelated to the cookie fix. It also appears it is a CI issue, not a general problem with the Ruby version (probably should just drop the related macOS CI jobs and keep the Linux ones).

@ioquatix ioquatix merged commit d2e2cac into master Jun 8, 2024
38 checks passed
@ioquatix ioquatix deleted the merge-cookies branch June 8, 2024 01:21
andrewpollock referenced this pull request in google/osv.dev Sep 24, 2024
This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| [webrick](https://github.com/ruby/webrick) | `1.8.1` ->
`1.8.2` |
[![age](https://developer.mend.io/api/mc/badges/age/rubygems/webrick/1.8.2?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/rubygems/webrick/1.8.2?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/rubygems/webrick/1.8.1/1.8.2?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/rubygems/webrick/1.8.1/1.8.2?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|

---

### HTTP Request Smuggling in ruby webrick
[CVE-2024-47220](https://nvd.nist.gov/vuln/detail/CVE-2024-47220) /
[GHSA-6f62-3596-g6w7](https://github.com/advisories/GHSA-6f62-3596-g6w7)

<details>
<summary>More information</summary>

#### Details
An issue was discovered in the WEBrick toolkit through 1.8.1 for Ruby.
It allows HTTP request smuggling by providing both a Content-Length
header and a Transfer-Encoding header, e.g., "GET /admin HTTP/1.1\r\n"
inside of a "POST /user HTTP/1.1\r\n" request. NOTE: the supplier's
position is "Webrick should not be used in production."

#### Severity
- CVSS Score: 7.5 / 10 (High)
- Vector String: `CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:N`

#### References
-
[https://nvd.nist.gov/vuln/detail/CVE-2024-47220](https://nvd.nist.gov/vuln/detail/CVE-2024-47220)
-
[https://github.com/ruby/webrick/issues/145](https://github.com/ruby/webrick/issues/145)
-
[https://github.com/ruby/webrick/pull/146/commits/d88321da45dcd230ac2b4585cad4833d6d5e8841](https://github.com/ruby/webrick/pull/146/commits/d88321da45dcd230ac2b4585cad4833d6d5e8841)
-
[https://github.com/ruby/webrick/commit/f5faca9222541591e1a7c3c97552ebb0c92733c7](https://github.com/ruby/webrick/commit/f5faca9222541591e1a7c3c97552ebb0c92733c7)
-
[https://github.com/ruby/webrick](https://github.com/ruby/webrick)

This data is provided by
[OSV](https://osv.dev/vulnerability/GHSA-6f62-3596-g6w7) and the [GitHub
Advisory Database](https://github.com/github/advisory-database)
([CC-BY
4.0](https://github.com/github/advisory-database/blob/main/LICENSE.md)).
</details>

---

### Release Notes

<details>
<summary>ruby/webrick (webrick)</summary>

###
[`v1.8.2`](https://github.com/ruby/webrick/releases/tag/v1.8.2)

[Compare
Source](https://github.com/ruby/webrick/compare/v1.8.1...v1.8.2)

#### What's Changed

- Drop commented-out line by
[@&#8203;olleolleolle](https://github.com/olleolleolle) in
[https://github.com/ruby/webrick/pull/108](https://github.com/ruby/webrick/pull/108)
- Add Ruby 3.1 & 3.2 to CI matrix by
[@&#8203;tricknotes](https://github.com/tricknotes) in
[https://github.com/ruby/webrick/pull/109](https://github.com/ruby/webrick/pull/109)
- Fix/redos by
[@&#8203;ooooooo-q](https://github.com/ooooooo-q) in
[https://github.com/ruby/webrick/pull/114](https://github.com/ruby/webrick/pull/114)
- Raise HTTPStatus::BadRequest for requests with invalid/duplicate
content-length headers by
[@&#8203;jeremyevans](https://github.com/jeremyevans) in
[https://github.com/ruby/webrick/pull/120](https://github.com/ruby/webrick/pull/120)
- Bump actions/checkout from 3 to 4 by
[@&#8203;dependabot](https://github.com/dependabot) in
[https://github.com/ruby/webrick/pull/121](https://github.com/ruby/webrick/pull/121)
- Improve CI by [@&#8203;hsbt](https://github.com/hsbt) in
[https://github.com/ruby/webrick/pull/123](https://github.com/ruby/webrick/pull/123)
- Fix WEBrick::TestFileHandler#test_short_filename test not working on
mswin by
[@&#8203;KJTsanaktsidis](https://github.com/KJTsanaktsidis) in
[https://github.com/ruby/webrick/pull/128](https://github.com/ruby/webrick/pull/128)
- Fix bug chunk extension detection by
[@&#8203;jeremyevans](https://github.com/jeremyevans) in
[https://github.com/ruby/webrick/pull/125](https://github.com/ruby/webrick/pull/125)
- Fix CI. by [@&#8203;ioquatix](https://github.com/ioquatix) in
[https://github.com/ruby/webrick/pull/131](https://github.com/ruby/webrick/pull/131)
- Merge multiple cookie headers, preserving semantic correctness. by
[@&#8203;ioquatix](https://github.com/ioquatix) in
[https://github.com/ruby/webrick/pull/130](https://github.com/ruby/webrick/pull/130)
- Test on macos-latest by
[@&#8203;byroot](https://github.com/byroot) in
[https://github.com/ruby/webrick/pull/132](https://github.com/ruby/webrick/pull/132)
- Require CRLF line endings in request line and headers by
[@&#8203;jeremyevans](https://github.com/jeremyevans) in
[https://github.com/ruby/webrick/pull/138](https://github.com/ruby/webrick/pull/138)
- Prefer squigly heredocs. by
[@&#8203;ioquatix](https://github.com/ioquatix) in
[https://github.com/ruby/webrick/pull/143](https://github.com/ruby/webrick/pull/143)
- Only strip space and horizontal tab in headers by
[@&#8203;jeremyevans](https://github.com/jeremyevans) in
[https://github.com/ruby/webrick/pull/141](https://github.com/ruby/webrick/pull/141)
- Treat missing CRLF separator after headers as an EOFError by
[@&#8203;jeremyevans](https://github.com/jeremyevans) in
[https://github.com/ruby/webrick/pull/142](https://github.com/ruby/webrick/pull/142)
- Return 400 response for chunked requests with unexpected data after
chunk by [@&#8203;jeremyevans](https://github.com/jeremyevans)
in
[https://github.com/ruby/webrick/pull/136](https://github.com/ruby/webrick/pull/136)
- Fix reference to URI::REGEXP::PATTERN::HOST by
[@&#8203;casperisfine](https://github.com/casperisfine) in
[https://github.com/ruby/webrick/pull/144](https://github.com/ruby/webrick/pull/144)
- Prevent request smuggling by
[@&#8203;jeremyevans](https://github.com/jeremyevans) in
[https://github.com/ruby/webrick/pull/146](https://github.com/ruby/webrick/pull/146)

#### New Contributors

- [@&#8203;tricknotes](https://github.com/tricknotes) made
their first contribution in
[https://github.com/ruby/webrick/pull/109](https://github.com/ruby/webrick/pull/109)
- [@&#8203;ooooooo-q](https://github.com/ooooooo-q) made their
first contribution in
[https://github.com/ruby/webrick/pull/114](https://github.com/ruby/webrick/pull/114)
- [@&#8203;KJTsanaktsidis](https://github.com/KJTsanaktsidis)
made their first contribution in
[https://github.com/ruby/webrick/pull/128](https://github.com/ruby/webrick/pull/128)
- [@&#8203;byroot](https://github.com/byroot) made their first
contribution in
[https://github.com/ruby/webrick/pull/132](https://github.com/ruby/webrick/pull/132)
- [@&#8203;casperisfine](https://github.com/casperisfine) made
their first contribution in
[https://github.com/ruby/webrick/pull/144](https://github.com/ruby/webrick/pull/144)

**Full Changelog**:
ruby/webrick@v1.8.1...v1.8.2

</details>

---

### Configuration

📅 **Schedule**: Branch creation - "" in timezone Australia/Sydney,
Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you
are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the
rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update
again.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

This PR was generated by [Mend Renovate](https://mend.io/renovate/).
View the [repository job
log](https://developer.mend.io/github/google/osv.dev).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOC44MC4wIiwidXBkYXRlZEluVmVyIjoiMzguODAuMCIsInRhcmdldEJyYW5jaCI6Im1hc3RlciIsImxhYmVscyI6WyJkZXBlbmRlbmNpZXMiXX0=-->
andrewpollock referenced this pull request in google/osv-scanner Sep 24, 2024
This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| [webrick](https://github.com/ruby/webrick) | `1.8.1` ->
`1.8.2` |
[![age](https://developer.mend.io/api/mc/badges/age/rubygems/webrick/1.8.2?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/rubygems/webrick/1.8.2?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/rubygems/webrick/1.8.1/1.8.2?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/rubygems/webrick/1.8.1/1.8.2?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|

---

### HTTP Request Smuggling in ruby webrick
[CVE-2024-47220](https://nvd.nist.gov/vuln/detail/CVE-2024-47220) /
[GHSA-6f62-3596-g6w7](https://github.com/advisories/GHSA-6f62-3596-g6w7)

<details>
<summary>More information</summary>

#### Details
An issue was discovered in the WEBrick toolkit through 1.8.1 for Ruby.
It allows HTTP request smuggling by providing both a Content-Length
header and a Transfer-Encoding header, e.g., "GET /admin HTTP/1.1\r\n"
inside of a "POST /user HTTP/1.1\r\n" request. NOTE: the supplier's
position is "Webrick should not be used in production."

#### Severity
- CVSS Score: 7.5 / 10 (High)
- Vector String: `CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:N`

#### References
-
[https://nvd.nist.gov/vuln/detail/CVE-2024-47220](https://nvd.nist.gov/vuln/detail/CVE-2024-47220)
-
[https://github.com/ruby/webrick/issues/145](https://github.com/ruby/webrick/issues/145)
-
[https://github.com/ruby/webrick/pull/146/commits/d88321da45dcd230ac2b4585cad4833d6d5e8841](https://github.com/ruby/webrick/pull/146/commits/d88321da45dcd230ac2b4585cad4833d6d5e8841)
-
[https://github.com/ruby/webrick/commit/f5faca9222541591e1a7c3c97552ebb0c92733c7](https://github.com/ruby/webrick/commit/f5faca9222541591e1a7c3c97552ebb0c92733c7)
-
[https://github.com/ruby/webrick](https://github.com/ruby/webrick)

This data is provided by
[OSV](https://osv.dev/vulnerability/GHSA-6f62-3596-g6w7) and the [GitHub
Advisory Database](https://github.com/github/advisory-database)
([CC-BY
4.0](https://github.com/github/advisory-database/blob/main/LICENSE.md)).
</details>

---

### Release Notes

<details>
<summary>ruby/webrick (webrick)</summary>

###
[`v1.8.2`](https://github.com/ruby/webrick/releases/tag/v1.8.2)

[Compare
Source](https://github.com/ruby/webrick/compare/v1.8.1...v1.8.2)

#### What's Changed

- Drop commented-out line by
[@&#8203;olleolleolle](https://github.com/olleolleolle) in
[https://github.com/ruby/webrick/pull/108](https://github.com/ruby/webrick/pull/108)
- Add Ruby 3.1 & 3.2 to CI matrix by
[@&#8203;tricknotes](https://github.com/tricknotes) in
[https://github.com/ruby/webrick/pull/109](https://github.com/ruby/webrick/pull/109)
- Fix/redos by
[@&#8203;ooooooo-q](https://github.com/ooooooo-q) in
[https://github.com/ruby/webrick/pull/114](https://github.com/ruby/webrick/pull/114)
- Raise HTTPStatus::BadRequest for requests with invalid/duplicate
content-length headers by
[@&#8203;jeremyevans](https://github.com/jeremyevans) in
[https://github.com/ruby/webrick/pull/120](https://github.com/ruby/webrick/pull/120)
- Bump actions/checkout from 3 to 4 by
[@&#8203;dependabot](https://github.com/dependabot) in
[https://github.com/ruby/webrick/pull/121](https://github.com/ruby/webrick/pull/121)
- Improve CI by [@&#8203;hsbt](https://github.com/hsbt) in
[https://github.com/ruby/webrick/pull/123](https://github.com/ruby/webrick/pull/123)
- Fix WEBrick::TestFileHandler#test_short_filename test not working on
mswin by
[@&#8203;KJTsanaktsidis](https://github.com/KJTsanaktsidis) in
[https://github.com/ruby/webrick/pull/128](https://github.com/ruby/webrick/pull/128)
- Fix bug chunk extension detection by
[@&#8203;jeremyevans](https://github.com/jeremyevans) in
[https://github.com/ruby/webrick/pull/125](https://github.com/ruby/webrick/pull/125)
- Fix CI. by [@&#8203;ioquatix](https://github.com/ioquatix) in
[https://github.com/ruby/webrick/pull/131](https://github.com/ruby/webrick/pull/131)
- Merge multiple cookie headers, preserving semantic correctness. by
[@&#8203;ioquatix](https://github.com/ioquatix) in
[https://github.com/ruby/webrick/pull/130](https://github.com/ruby/webrick/pull/130)
- Test on macos-latest by
[@&#8203;byroot](https://github.com/byroot) in
[https://github.com/ruby/webrick/pull/132](https://github.com/ruby/webrick/pull/132)
- Require CRLF line endings in request line and headers by
[@&#8203;jeremyevans](https://github.com/jeremyevans) in
[https://github.com/ruby/webrick/pull/138](https://github.com/ruby/webrick/pull/138)
- Prefer squigly heredocs. by
[@&#8203;ioquatix](https://github.com/ioquatix) in
[https://github.com/ruby/webrick/pull/143](https://github.com/ruby/webrick/pull/143)
- Only strip space and horizontal tab in headers by
[@&#8203;jeremyevans](https://github.com/jeremyevans) in
[https://github.com/ruby/webrick/pull/141](https://github.com/ruby/webrick/pull/141)
- Treat missing CRLF separator after headers as an EOFError by
[@&#8203;jeremyevans](https://github.com/jeremyevans) in
[https://github.com/ruby/webrick/pull/142](https://github.com/ruby/webrick/pull/142)
- Return 400 response for chunked requests with unexpected data after
chunk by [@&#8203;jeremyevans](https://github.com/jeremyevans)
in
[https://github.com/ruby/webrick/pull/136](https://github.com/ruby/webrick/pull/136)
- Fix reference to URI::REGEXP::PATTERN::HOST by
[@&#8203;casperisfine](https://github.com/casperisfine) in
[https://github.com/ruby/webrick/pull/144](https://github.com/ruby/webrick/pull/144)
- Prevent request smuggling by
[@&#8203;jeremyevans](https://github.com/jeremyevans) in
[https://github.com/ruby/webrick/pull/146](https://github.com/ruby/webrick/pull/146)

#### New Contributors

- [@&#8203;tricknotes](https://github.com/tricknotes) made
their first contribution in
[https://github.com/ruby/webrick/pull/109](https://github.com/ruby/webrick/pull/109)
- [@&#8203;ooooooo-q](https://github.com/ooooooo-q) made their
first contribution in
[https://github.com/ruby/webrick/pull/114](https://github.com/ruby/webrick/pull/114)
- [@&#8203;KJTsanaktsidis](https://github.com/KJTsanaktsidis)
made their first contribution in
[https://github.com/ruby/webrick/pull/128](https://github.com/ruby/webrick/pull/128)
- [@&#8203;byroot](https://github.com/byroot) made their first
contribution in
[https://github.com/ruby/webrick/pull/132](https://github.com/ruby/webrick/pull/132)
- [@&#8203;casperisfine](https://github.com/casperisfine) made
their first contribution in
[https://github.com/ruby/webrick/pull/144](https://github.com/ruby/webrick/pull/144)

**Full Changelog**:
ruby/webrick@v1.8.1...v1.8.2

</details>

---

### Configuration

📅 **Schedule**: Branch creation - "" in timezone Australia/Sydney,
Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you
are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the
rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update
again.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

This PR was generated by [Mend Renovate](https://mend.io/renovate/).
View the [repository job
log](https://developer.mend.io/github/google/osv-scanner).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOC44MC4wIiwidXBkYXRlZEluVmVyIjoiMzguODAuMCIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOlsiZGVwZW5kZW5jaWVzIl19-->
marcelamelara referenced this pull request in slsa-framework/slsa Sep 24, 2024
This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| [webrick](https://github.com/ruby/webrick) | `1.8.1` ->
`1.8.2` |
[![age](https://developer.mend.io/api/mc/badges/age/rubygems/webrick/1.8.2?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/rubygems/webrick/1.8.2?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/rubygems/webrick/1.8.1/1.8.2?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/rubygems/webrick/1.8.1/1.8.2?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|

### GitHub Vulnerability Alerts

#### [CVE-2024-47220](https://nvd.nist.gov/vuln/detail/CVE-2024-47220)

An issue was discovered in the WEBrick toolkit through 1.8.1 for Ruby.
It allows HTTP request smuggling by providing both a Content-Length
header and a Transfer-Encoding header, e.g., "GET /admin HTTP/1.1\r\n"
inside of a "POST /user HTTP/1.1\r\n" request. NOTE: the supplier's
position is "Webrick should not be used in production."

---

### Release Notes

<details>
<summary>ruby/webrick (webrick)</summary>

###
[`v1.8.2`](https://github.com/ruby/webrick/releases/tag/v1.8.2)

[Compare
Source](https://github.com/ruby/webrick/compare/v1.8.1...v1.8.2)

#### What's Changed

- Drop commented-out line by
[@&#8203;olleolleolle](https://github.com/olleolleolle) in
[https://github.com/ruby/webrick/pull/108](https://github.com/ruby/webrick/pull/108)
- Add Ruby 3.1 & 3.2 to CI matrix by
[@&#8203;tricknotes](https://github.com/tricknotes) in
[https://github.com/ruby/webrick/pull/109](https://github.com/ruby/webrick/pull/109)
- Fix/redos by
[@&#8203;ooooooo-q](https://github.com/ooooooo-q) in
[https://github.com/ruby/webrick/pull/114](https://github.com/ruby/webrick/pull/114)
- Raise HTTPStatus::BadRequest for requests with invalid/duplicate
content-length headers by
[@&#8203;jeremyevans](https://github.com/jeremyevans) in
[https://github.com/ruby/webrick/pull/120](https://github.com/ruby/webrick/pull/120)
- Bump actions/checkout from 3 to 4 by
[@&#8203;dependabot](https://github.com/dependabot) in
[https://github.com/ruby/webrick/pull/121](https://github.com/ruby/webrick/pull/121)
- Improve CI by [@&#8203;hsbt](https://github.com/hsbt) in
[https://github.com/ruby/webrick/pull/123](https://github.com/ruby/webrick/pull/123)
- Fix WEBrick::TestFileHandler#test_short_filename test not working on
mswin by
[@&#8203;KJTsanaktsidis](https://github.com/KJTsanaktsidis) in
[https://github.com/ruby/webrick/pull/128](https://github.com/ruby/webrick/pull/128)
- Fix bug chunk extension detection by
[@&#8203;jeremyevans](https://github.com/jeremyevans) in
[https://github.com/ruby/webrick/pull/125](https://github.com/ruby/webrick/pull/125)
- Fix CI. by [@&#8203;ioquatix](https://github.com/ioquatix) in
[https://github.com/ruby/webrick/pull/131](https://github.com/ruby/webrick/pull/131)
- Merge multiple cookie headers, preserving semantic correctness. by
[@&#8203;ioquatix](https://github.com/ioquatix) in
[https://github.com/ruby/webrick/pull/130](https://github.com/ruby/webrick/pull/130)
- Test on macos-latest by
[@&#8203;byroot](https://github.com/byroot) in
[https://github.com/ruby/webrick/pull/132](https://github.com/ruby/webrick/pull/132)
- Require CRLF line endings in request line and headers by
[@&#8203;jeremyevans](https://github.com/jeremyevans) in
[https://github.com/ruby/webrick/pull/138](https://github.com/ruby/webrick/pull/138)
- Prefer squigly heredocs. by
[@&#8203;ioquatix](https://github.com/ioquatix) in
[https://github.com/ruby/webrick/pull/143](https://github.com/ruby/webrick/pull/143)
- Only strip space and horizontal tab in headers by
[@&#8203;jeremyevans](https://github.com/jeremyevans) in
[https://github.com/ruby/webrick/pull/141](https://github.com/ruby/webrick/pull/141)
- Treat missing CRLF separator after headers as an EOFError by
[@&#8203;jeremyevans](https://github.com/jeremyevans) in
[https://github.com/ruby/webrick/pull/142](https://github.com/ruby/webrick/pull/142)
- Return 400 response for chunked requests with unexpected data after
chunk by [@&#8203;jeremyevans](https://github.com/jeremyevans)
in
[https://github.com/ruby/webrick/pull/136](https://github.com/ruby/webrick/pull/136)
- Fix reference to URI::REGEXP::PATTERN::HOST by
[@&#8203;casperisfine](https://github.com/casperisfine) in
[https://github.com/ruby/webrick/pull/144](https://github.com/ruby/webrick/pull/144)
- Prevent request smuggling by
[@&#8203;jeremyevans](https://github.com/jeremyevans) in
[https://github.com/ruby/webrick/pull/146](https://github.com/ruby/webrick/pull/146)

#### New Contributors

- [@&#8203;tricknotes](https://github.com/tricknotes) made
their first contribution in
[https://github.com/ruby/webrick/pull/109](https://github.com/ruby/webrick/pull/109)
- [@&#8203;ooooooo-q](https://github.com/ooooooo-q) made their
first contribution in
[https://github.com/ruby/webrick/pull/114](https://github.com/ruby/webrick/pull/114)
- [@&#8203;KJTsanaktsidis](https://github.com/KJTsanaktsidis)
made their first contribution in
[https://github.com/ruby/webrick/pull/128](https://github.com/ruby/webrick/pull/128)
- [@&#8203;byroot](https://github.com/byroot) made their first
contribution in
[https://github.com/ruby/webrick/pull/132](https://github.com/ruby/webrick/pull/132)
- [@&#8203;casperisfine](https://github.com/casperisfine) made
their first contribution in
[https://github.com/ruby/webrick/pull/144](https://github.com/ruby/webrick/pull/144)

**Full Changelog**:
ruby/webrick@v1.8.1...v1.8.2

</details>

---

### Configuration

📅 **Schedule**: Branch creation - "" (UTC), Automerge - At any time (no
schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you
are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the
rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update
again.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

This PR was generated by [Mend Renovate](https://mend.io/renovate/).
View the [repository job
log](https://developer.mend.io/github/slsa-framework/slsa).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOC44MC4wIiwidXBkYXRlZEluVmVyIjoiMzguODAuMCIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOltdfQ==-->

Signed-off-by: Mend Renovate <bot@renovateapp.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Development

Successfully merging this pull request may close these issues.

2 participants