CVE-2023-1712

9.8 CRITICAL

📋 TL;DR

This vulnerability involves hard-coded security constants in the deepset-ai/haystack repository before version 0.1.30, potentially allowing attackers to bypass authentication or access sensitive functionality. It affects all users running haystack versions prior to 0.1.30. The high CVSS score indicates critical severity with potential for complete system compromise.

💻 Affected Systems

Products:
  • deepset-ai/haystack
Versions: All versions prior to 0.1.30
Operating Systems: All
Default Config Vulnerable: ⚠️ Yes
Notes: Affects all deployments using vulnerable haystack versions regardless of configuration.

📦 What is this software?

⚠️ Risk & Real-World Impact

🔴

Worst Case

Complete system takeover through authentication bypass leading to unauthorized access, data exfiltration, or remote code execution.

🟠

Likely Case

Unauthorized access to sensitive haystack functionality, potentially exposing internal data or allowing privilege escalation.

🟢

If Mitigated

Limited impact with proper network segmentation and access controls, though hard-coded constants remain a security weakness.

🌐 Internet-Facing: HIGH
🏢 Internal Only: MEDIUM

🎯 Exploit Status

Public PoC: ✅ No
Weaponized: UNKNOWN
Unauthenticated Exploit: ⚠️ Yes
Complexity: LOW

Hard-coded constants typically enable straightforward exploitation once identified.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: 0.1.30 and later

Vendor Advisory: https://github.com/deepset-ai/haystack/commit/5fc84904f198de661d5b933fde756aa922bf09f1

Restart Required: Yes

Instructions:

1. Update haystack to version 0.1.30 or later using pip: pip install --upgrade haystack==0.1.30
2. Restart all haystack services and applications
3. Verify the update was successful

🔧 Temporary Workarounds

Network isolation

all

Restrict network access to haystack services to trusted sources only

Environment variable override

linux

Override hard-coded constants with secure environment variables if supported

export HAYSTACK_SECURE_CONFIG=your_secure_value

🧯 If You Can't Patch

  • Implement strict network access controls and firewall rules to limit haystack exposure
  • Monitor haystack logs for unauthorized access attempts and review authentication mechanisms

🔍 How to Verify

Check if Vulnerable:

Check haystack version: python -c "import haystack; print(haystack.__version__)" and verify it's below 0.1.30

Check Version:

python -c "import haystack; print(haystack.__version__)"

Verify Fix Applied:

Confirm version is 0.1.30 or higher and test authentication/security functionality

📡 Detection & Monitoring

Log Indicators:

  • Unauthorized access attempts
  • Authentication bypass patterns
  • Unexpected configuration changes

Network Indicators:

  • Unusual traffic to haystack services
  • Authentication requests from unexpected sources

SIEM Query:

source="haystack.log" AND (event_type="auth_failure" OR event_type="config_change")

🔗 References

📤 Share & Export