Skip to content

Commit 8857f8a

Browse files
author
José Valim
committed
Validate cookie headers
1 parent aff88b6 commit 8857f8a

File tree

2 files changed

+9
-0
lines changed

2 files changed

+9
-0
lines changed

lib/plug/conn.ex

+1
Original file line numberDiff line numberDiff line change
@@ -990,6 +990,7 @@ defmodule Plug.Conn do
990990
"cookie named #{inspect key} exceeds maximum size of 4096 bytes"
991991
end
992992
defp verify_cookie!(cookie, _key) do
993+
validate_header_value!(cookie)
993994
cookie
994995
end
995996

test/plug/conn_test.exs

+8
Original file line numberDiff line numberDiff line change
@@ -605,6 +605,14 @@ defmodule Plug.ConnTest do
605605
end
606606
end
607607

608+
test "put_resp_cookie/4 raises on new line" do
609+
assert_raise Plug.Conn.InvalidHeaderError, fn ->
610+
conn(:get, "/")
611+
|> put_resp_cookie("foo", "bar\nbaz")
612+
|> send_resp(200, "OK")
613+
end
614+
end
615+
608616
test "put_resp_cookie/4 is secure on https" do
609617
conn = conn(:get, "https://example.com/")
610618
|> put_resp_cookie("foo", "baz", path: "/baz")

0 commit comments

Comments
 (0)