Skip to content

Commit f8ea473

Browse files
committed
[Security] Prevent canceled remember-me cookie from being accepted
1 parent 69c40d7 commit f8ea473

File tree

2 files changed

+15
-0
lines changed

2 files changed

+15
-0
lines changed

RememberMe/AbstractRememberMeServices.php

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -99,6 +99,10 @@ public function getSecret()
9999
*/
100100
final public function autoLogin(Request $request)
101101
{
102+
if (($cookie = $request->attributes->get(self::COOKIE_ATTR_NAME)) && null === $cookie->getValue()) {
103+
return null;
104+
}
105+
102106
if (null === $cookie = $request->cookies->get($this->options['name'])) {
103107
return null;
104108
}

Tests/RememberMe/AbstractRememberMeServicesTest.php

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,17 @@ public function testAutoLoginReturnsNullWhenNoCookie()
3939
$this->assertNull($service->autoLogin(new Request()));
4040
}
4141

42+
public function testAutoLoginReturnsNullAfterLoginFail()
43+
{
44+
$service = $this->getService(null, ['name' => 'foo', 'path' => null, 'domain' => null]);
45+
46+
$request = new Request();
47+
$request->cookies->set('foo', 'foo');
48+
49+
$service->loginFail($request);
50+
$this->assertNull($service->autoLogin($request));
51+
}
52+
4253
/**
4354
* @group legacy
4455
*/

0 commit comments

Comments
 (0)