File tree Expand file tree Collapse file tree 2 files changed +15
-0
lines changed
Expand file tree Collapse file tree 2 files changed +15
-0
lines changed Original file line number Diff line number Diff line change @@ -163,6 +163,13 @@ class Constants extends \SimpleSAML\XML\Constants
163163
164164 public const string XMLENC_EXI = 'http://www.w3.org/2009/xmlenc11#EXI ' ;
165165
166+ /**
167+ * Library default limits
168+ */
169+ public const int MAX_TRANSFORMS = 2 ;
170+
171+ public const int MAX_XPATH_NAMESPACES = 20 ;
172+
166173
167174 /** @var string[] */
168175 public static array $ KEY_WRAP_ALGORITHMS = [
Original file line number Diff line number Diff line change 55namespace SimpleSAML \XMLSecurity \XML ;
66
77use DOMElement ;
8+ use SimpleSAML \XMLSecurity \Assert \Assert ;
89use SimpleSAML \XMLSecurity \Constants as C ;
910use SimpleSAML \XMLSecurity \Exception \CanonicalizationFailedException ;
1011use SimpleSAML \XMLSecurity \Exception \ReferenceValidationFailedException ;
@@ -120,6 +121,13 @@ public function processTransforms(
120121 Transforms $ transforms ,
121122 DOMElement $ data ,
122123 ): string {
124+ Assert::maxCount (
125+ $ transforms ->getTransform (),
126+ C::MAX_TRANSFORMS ,
127+ ReferenceValidationFailedException::class,
128+ 'Too many transforms. ' ,
129+ );
130+
123131 $ canonicalMethod = C::C14N_EXCLUSIVE_WITHOUT_COMMENTS ;
124132 $ arXPath = null ;
125133 $ prefixList = null ;
You can’t perform that action at this time.
0 commit comments