CVE-2026-14738 Overview
CVE-2026-14738 affects exo-explore exo distributed inference software up to version 1.0.71. The flaw resides in the _image_cache_key function within src/exo/worker/engines/mlx/vision.py, part of the Vision Feature Cache component. The function relies on a weak hash algorithm [CWE-327], which allows an attacker to induce cache key collisions. The issue is exploitable remotely, but requires high attack complexity. A public exploit has been released, and a pull request addressing the flaw awaits acceptance upstream.
Critical Impact
Weak hashing in the Vision Feature Cache enables remote collision-based attacks that can corrupt cached vision features, though exploitation requires high complexity and yields only limited confidentiality impact.
Affected Products
- exo-explore exo versions up to and including 1.0.71
- Vision Feature Cache component (src/exo/worker/engines/mlx/vision.py)
- The _image_cache_key function specifically
Discovery Timeline
- 2026-07-05 - CVE-2026-14738 published to NVD
- 2026-07-06 - Last updated in NVD database
Technical Details for CVE-2026-14738
Vulnerability Analysis
The vulnerability is a use of a broken or risky cryptographic algorithm classified under [CWE-327]. The _image_cache_key function generates cache keys for vision features using a weak hash algorithm. Weak hashes exhibit collision resistance failures, meaning attackers can craft distinct inputs that produce identical hash outputs.
In the context of the Vision Feature Cache, colliding inputs cause the system to reuse cached feature vectors for unrelated images. An attacker who can submit crafted images to a worker process may force cache lookups to return features belonging to a different image, corrupting model inference results.
Exploitation is remote over the network, requires no privileges, and no user interaction. However, the attack complexity is high because the adversary must precompute inputs that produce specific collisions against the target hashing scheme. Impact is limited to low confidentiality exposure of cached feature data.
Root Cause
The root cause is the selection of a cryptographically weak hashing primitive for constructing cache keys. Cache key functions handling untrusted input require collision-resistant hashes such as SHA-256. Any function with practical collision attacks permits key aliasing.
Attack Vector
An attacker submits images or vision inputs to an exposed exo worker node over the network. The attacker precomputes inputs that hash to keys colliding with legitimate cache entries. Subsequent inference operations return cached features tied to attacker-controlled inputs rather than the intended image, producing incorrect model outputs or leaking cached representations.
No authentic exploitation code is published in the referenced advisories beyond the GitHub issue #2151 and pull request #2152 that document the flaw and proposed fix.
Detection Methods for CVE-2026-14738
Indicators of Compromise
- Anomalous cache-hit rates on the Vision Feature Cache that do not correlate with legitimate workload patterns
- Unexpected inference outputs from exo worker nodes where cached vision features are returned for structurally different input images
- Network requests to exo worker endpoints containing high volumes of near-duplicate image payloads consistent with collision search behavior
Detection Strategies
- Instrument _image_cache_key to log the hash function output alongside a strong secondary hash (SHA-256) and alert on divergence between the two
- Monitor for repeated cache-key collisions across distinct image inputs, which indicate collision probing rather than benign reuse
- Review deployment configurations for exposed exo worker interfaces reachable from untrusted networks
Monitoring Recommendations
- Track version strings of running exo instances and flag any node running 1.0.71 or earlier
- Capture and retain worker access logs including source IP, request size, and cache key metadata for offline collision analysis
- Correlate anomalous inference error rates with recent request patterns to identify potential collision-based tampering
How to Mitigate CVE-2026-14738
Immediate Actions Required
- Restrict network exposure of exo worker nodes to trusted management networks only
- Require authentication and transport encryption in front of any exo worker interface accepting vision inputs
- Track the status of pull request #2152 and apply the upstream fix once merged
Patch Information
At publication, the pull request addressing CVE-2026-14738 in the exo-explore/exo repository awaits acceptance. Operators should monitor GitHub issue #2151 and the VulDB advisory for a released version incorporating the fix. Until an official release is available, apply the patch from the pending pull request in staging environments.
Workarounds
- Replace the weak hash in _image_cache_key with a collision-resistant algorithm such as SHA-256 as an interim local patch
- Disable the Vision Feature Cache where the performance trade-off is acceptable, forcing recomputation of feature vectors per request
- Deploy a network proxy that rate-limits and deduplicates vision input requests to raise the cost of collision search against the cache
# Interim local patch: replace weak hash in _image_cache_key with SHA-256
# In src/exo/worker/engines/mlx/vision.py, use hashlib.sha256 for cache keys
# after applying, restart exo worker processes
Disclaimer: This content was generated using AI. While we strive for accuracy, please verify critical information with official sources.

