Skip to content

Commit 9e6a01e

Browse files
Catch encryption exceptions
1 parent 73cd9c9 commit 9e6a01e

File tree

1 file changed

+8
-3
lines changed

1 file changed

+8
-3
lines changed

packages/http/src/Session/VerifyCsrfMiddleware.php

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@
88
use Tempest\Core\AppConfig;
99
use Tempest\Core\Priority;
1010
use Tempest\Cryptography\Encryption\Encrypter;
11+
use Tempest\Cryptography\Encryption\Exceptions\EncryptionException;
1112
use Tempest\Http\Cookie\Cookie;
1213
use Tempest\Http\Cookie\CookieManager;
1314
use Tempest\Http\Method;
@@ -72,9 +73,13 @@ private function ensureTokenMatches(Request $request): void
7273
);
7374

7475
if (! $tokenFromRequest && $request->headers->has(self::CSRF_HEADER_KEY)) {
75-
$tokenFromRequest = $this->encrypter->decrypt(
76-
urldecode($request->headers->get(self::CSRF_HEADER_KEY)),
77-
);
76+
try {
77+
$tokenFromRequest = $this->encrypter->decrypt(
78+
urldecode($request->headers->get(self::CSRF_HEADER_KEY)),
79+
);
80+
} catch (EncryptionException) {
81+
// If decryption fails, treat it as a mismatch
82+
}
7883
}
7984

8085
if (! $tokenFromRequest) {

0 commit comments

Comments
 (0)