SECURITY WIN

Weaviate Security Assessment

Identified 2 security vulnerabilities including unsafe AWS credential handling in the S3 backup module allowing attackers to inject credentials via HTTP headers to redirect backups to attacker-controlled buckets, and an SSRF vulnerability via unvalidated header-based URL override in the Anthropic module. Both issues confirmed and tracked in GitHub issue #10146 for resolution.
January 20264 min read
Faizan
Weaviate Credential InjectionSSRFAWS Security

Executive Summary

This security assessment was conducted using Kolega.dev's automated security remediation platform, which combines traditional security scanning (SAST, SCA, secrets detection) with proprietary AI-powered deep code analysis. Our two-tier detection approach identified vulnerabilities that standard tools miss, including complex logic flaws and cross-service injection vectors.

Our analysis of the Weaviate repository identified 2 vulnerabilities through Kolega.dev Deep Code Scan (Tier 2) that warrant attention.

Vulnerability Overview

ID

Title

PR/Ticket

V1

Unsafe AWS Credential Handling from HTTP Context in S3 Backup Module

Issue #10146

V2

SSRF via Unvalidated Header-Based URL Override in Anthropic Module

Issue #10146

Responsible Disclosure Timeline

Kolega.dev follows responsible disclosure practices. We coordinated privately through Weaviate's official security reporting channel.

January 5 2026

Initial report sent to Weaviate through Hackerone

January 6 2026

Response from Weaviate confirming 2 of the reported items would be resolved within a larger feature and created an issue on github to resolve this.



Vulnerabilities Detail

V1: Unsafe AWS Credential Handling from HTTP Context in S3 Backup Module

CWE: CWE-522 (Insufficiently Protected Credentials), CWE-640 (Weak Password Recovery)
Location: modules/backup-s3/client.go:82-94

Description
The S3 backup module accepts AWS credentials (access key, secret key, session token) directly from HTTP request context headers without any validation. An attacker can inject credentials via X-AWS-ACCESS-KEY, X-AWS-SECRET-KEY, and X-AWS-SESSION-TOKEN headers to redirect backup operations to attacker-controlled S3 buckets or impersonate other AWS accounts.

Evidence
Lines 83-91 directly accept credential headers without validation and create S3 client with those credentials. No verification that credentials belong to the current account.

Impact
Credential injection attack allowing unauthorized access to cloud resources, lateral movement within AWS infrastructure, data theft, ransomware attacks on backup systems. An attacker could redirect backups to attacker-controlled S3 buckets, overwrite legitimate backups, or access other organizations' data.

Remediation

  1. REMOVE header-based credential acceptance entirely.

  2. Use only environment variables and IAM roles for authentication.

  3. Implement credential validation against expected AWS account.

  4. Use AWS SigV4 validation to verify request authenticity.

  5. Disable ability to override credentials at request level.

  6. Implement strict access controls and logging for all credential usage.


V2: SSRF via Unvalidated Header-Based URL Override in Anthropic Module

CWE: CWE-601 (URL Redirection to Untrusted Site)
Location: modules/generative-anthropic/clients/anthropic.go:236-242

Description
The Anthropic module accepts X-Anthropic-Baseurl HTTP header without validation.

Evidence
Direct use of header value in URL construction without validation.

Impact
SSRF attack enabling credential and data theft.

Remediation
Implement URL validation, remove header-based URL overrides, use strict configuration-based approach.



Simple 3 click setup.

Deploy Kolega.dev.

Find and fix your technical debt.