Weaviate OSS Shard Movement API Path Traversal Vulnerability Allowing Arbitrary File Read

Vulnerability

A path traversal vulnerability has been identified in Weaviate OSS versions prior to 1.33.4, specifically within the Shard Movement API. This vulnerability arises from inadequate validation of the fileName parameter in the transfer logic. An attacker who can invoke the GetFile method while a shard is in the 'Pause file activity' state, and with access to the FileReplicationService, can exploit this flaw to read arbitrary files accessible to the service process. The vulnerability requires that the Shard Movement API is enabled and that shards are paused, allowing for exploitation by manipulating the fileName parameter to traverse directories and access restricted files.

Impact

Exploitation of this vulnerability could lead to unauthorized reading of sensitive files within Weaviate's privilege scope, potentially exposing confidential information or application data.

Reproduction

To reproduce this vulnerability, first ensure that a Weaviate instance is running a version prior to 1.33.4 and that the Shard Movement API is enabled. Pause file activity on a shard, then call the GetFile method with a crafted fileName parameter that includes parent-directory traversal sequences or absolute paths. This will bypass the intended directory restrictions and allow access to arbitrary files within the service process's privilege scope.

Remediation

Users can update Weaviate to version 1.33.4 or later to address this vulnerability. If an immediate update is not possible, the Shard Movement API can be disabled by setting the 'REPLICA_MOVEMENT_ENABLED' flag to false.

Added: Dec 12, 2025, 5:17 PM
Updated: Dec 12, 2025, 8:26 PM

Vulnerability Rating

Custom Algorithm
spread
3.1
impact
2.5
exploitability
5.8
remediation
8.3
relevance
1.4
threat
4.8
urgency
2.9
incentive
1.7

Our algorithm analyzes dozens of metrics to generate these 8 key vulnerability categories, which are then combined to calculate the overall risk score.