Explorar o código

Check for negative chunk size

See https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=3609
Credit to oss-fuzz
Stefan Profanter %!s(int64=7) %!d(string=hai) anos
pai
achega
3e9fdcb66c
Modificáronse 1 ficheiros con 3 adicións e 0 borrados
  1. 3 0
      src/ua_securechannel.c

+ 3 - 0
src/ua_securechannel.c

@@ -762,6 +762,9 @@ decryptChunk(UA_SecureChannel *channel, const UA_SecurityPolicyCryptoModule *cry
     if(retval != UA_STATUSCODE_GOOD)
         return retval;
 
+    if(offset + paddingSize + sigsize >= chunk->length)
+        return UA_STATUSCODE_BADSECURITYCHECKSFAILED;
+
     *requestId = sequenceHeader.requestId;
     *sequenceNumber = sequenceHeader.sequenceNumber;
     payload->data = chunk->data + offset;