Forráskód Böngészése

Check for negative chunk size

See https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=3609
Credit to oss-fuzz
Stefan Profanter 7 éve
szülő
commit
3e9fdcb66c
1 módosított fájl, 3 hozzáadás és 0 törlés
  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)
     if(retval != UA_STATUSCODE_GOOD)
         return retval;
         return retval;
 
 
+    if(offset + paddingSize + sigsize >= chunk->length)
+        return UA_STATUSCODE_BADSECURITYCHECKSFAILED;
+
     *requestId = sequenceHeader.requestId;
     *requestId = sequenceHeader.requestId;
     *sequenceNumber = sequenceHeader.sequenceNumber;
     *sequenceNumber = sequenceHeader.sequenceNumber;
     payload->data = chunk->data + offset;
     payload->data = chunk->data + offset;