Skip to content

Commit a629a38

Browse files
committed
Add some more validation
1 parent 6dbb92c commit a629a38

2 files changed

Lines changed: 7 additions & 3 deletions

File tree

src/Server.php

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@
88
use SimpleSAML\Configuration;
99
use SimpleSAML\Error;
1010
use SimpleSAML\Logger;
11+
use SimpleSAML\SAML2\Exception\ProtocolViolationException;
1112
use SimpleSAML\Utils;
1213

1314
/**
@@ -264,6 +265,7 @@ private static function get(string $parameter): ?array
264265
return null;
265266
}
266267
$message = (string) $_REQUEST[$parameter];
268+
Assert::validBase64($message, ProtocolViolationException::class);
267269

268270
$message = @base64_decode($message);
269271
if ($message === false) {
@@ -375,8 +377,10 @@ private function getCDC(): array
375377
}
376378

377379
$ret = (string) $_COOKIE['_saml_idp'];
380+
378381
$ret = explode(' ', $ret);
379382
foreach ($ret as &$idp) {
383+
Assert::validBase64($idp, ProtocolViolationException::class);
380384
$idp = base64_decode($idp);
381385
if ($idp === false) {
382386
// Not properly base64 encoded

tests/src/Controller/CDCTest.php

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -57,9 +57,10 @@ public static function setUpBeforeClass(): void
5757
'simplesaml',
5858
);
5959

60-
self::$session = Session::getSessionFromRequest();
61-
6260
Configuration::setPreLoadedConfig(self::$config, 'config.php');
61+
62+
$_SERVER['REQUEST_URI'] = '/resume';
63+
self::$session = Session::getSessionFromRequest();
6364
}
6465

6566

@@ -86,7 +87,6 @@ public function testResumeDomainDefaultKey(): void
8687
'simplesaml',
8788
);
8889

89-
9090
$request = Request::create(
9191
'/resume',
9292
'GET',

0 commit comments

Comments
 (0)