Severity by source
CVSS:4.0/AV:L/AC:H/AT:N/PR:L/UI:N/VC:N/VI:L/VA:L/SC:N/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X
Primary rating from Vendor (VulDB) · only source for this CVE.
CVSS VectorVendor: VulDB
Lifecycle Timeline
3DescriptionCVE.org
A weakness has been identified in PaddlePaddle FastDeploy up to 2.4.1. Affected by this issue is the function hash_features of the file fastdeploy/multimodal/hasher.py of the component MultimodalHasher. Executing a manipulation can lead to use of weak hash. The attack requires local access. A high complexity level is associated with this attack. The exploitation is known to be difficult. This patch is called 374945747652a8d32965591c0c01a00c88b7067f. Applying a patch is advised to resolve this issue.
AnalysisAI
Hash collision weakness in PaddlePaddle FastDeploy up to version 2.4.1 allows a local attacker with low privileges to cause the MultimodalHasher component to produce identical SHA-256 digests for semantically distinct numpy arrays that share raw byte content but differ in shape or dtype. This breaks the uniqueness guarantee of the hash_features function in fastdeploy/multimodal/hasher.py, enabling integrity violations in multimodal data pipelines relying on this component for deduplication or identity checks. No public exploit exists and no active exploitation is confirmed; the CVSS 4.0 score of 2.0 accurately reflects constrained real-world risk given local-only access and high attack complexity.
Technical ContextAI
The vulnerability resides in the MultimodalHasher.hash_features method within fastdeploy/multimodal/hasher.py. The original implementation computed hashlib.sha256(obj.tobytes()).hexdigest() - serializing only the raw byte content of a numpy array - without incorporating the array's shape or dtype metadata into the hash input. Because numpy arrays with different shapes (e.g., a 6×4 versus a 4×6 array) or different dtypes (e.g., float32 versus uint8) can produce identical raw byte representations when derived from the same underlying data buffer, the function would return the same SHA-256 digest for semantically distinct inputs. CWE-328 (Use of Weak Hash) applies here not because SHA-256 is cryptographically weak, but because the hash input is semantically incomplete - omitting discriminating array attributes (shape and dtype) violates the effective uniqueness property required for correct operation. The affected CPE is cpe:2.3:a:paddlepaddle:fastdeploy:*:*:*:*:*:*:*:*, covering all versions up to and including 2.4.1. The patch (commit 374945747652a8d32965591c0c01a00c88b7067f) resolves this by prepending a header string encoding shape and dtype before hashing the raw bytes.
RemediationAI
Apply the upstream fix available via GitHub commit 374945747652a8d32965591c0c01a00c88b7067f (https://github.com/PaddlePaddle/FastDeploy/commit/374945747652a8d32965591c0c01a00c88b7067f) or pull request https://github.com/PaddlePaddle/FastDeploy/pull/7185. The patch encodes array shape and dtype into a header prefix before hashing raw bytes, ensuring that arrays differing in layout or type produce distinct digests. Note that a formally tagged patched release version has not been independently confirmed from the available data - the fix exists as a merged commit and PR, so users should build from the patched HEAD or verify their installed version includes this specific commit. As a compensating control where immediate patching is not feasible, applications relying on hash_features for deduplication or caching should independently validate array shape and dtype equality before treating hash matches as conclusive; this adds application-layer overhead but eliminates the collision risk without requiring a FastDeploy upgrade.
More in Paddlepaddle
View allremote code execution in paddlepaddle/paddle 2.6.0. Rated critical severity (CVSS 9.8), this vulnerability is remotely e
PaddlePaddle before 2.5.0 has a command injection in fs.py. Rated critical severity (CVSS 9.8), this vulnerability is re
Heap buffer overflow in paddle.trace in PaddlePaddle before 2.5.0. Rated critical severity (CVSS 9.8), this vulnerabilit
Use after free in paddle.diagonal in PaddlePaddle before 2.5.0. Rated critical severity (CVSS 9.8), this vulnerability i
Code injection in paddle.audio.functional.get_window in PaddlePaddle 2.4.0-rc0 allows arbitrary code execution. Rated cr
In PaddlePaddle before 2.4, paddle.audio.functional.get_window is vulnerable to code injection because it calls eval on
The PaddlePaddle/Anakin repository through 0.1.1 on GitHub allows absolute path traversal because the Flask send_file fu
Arbitrary File Overwrite Via Path Traversal in paddlepaddle/paddle before 2.6. Rated critical severity (CVSS 9.1), this
Out-of-bounds read in gather_tree in PaddlePaddle before 2.4. Rated critical severity (CVSS 9.1), this vulnerability is
Command injection in paddle.utils.download._wget_download (bypass filter) in paddlepaddle/paddle 2.6.0. Rated high sever
Command injection in IrGraph.draw in paddlepaddle/paddle 2.6.0. Rated high severity (CVSS 7.8), this vulnerability is lo
Code Injection in paddlepaddle/paddle. Rated high severity (CVSS 7.8), this vulnerability is low attack complexity. Publ
Same weakness CWE-328 – Use of Weak Hash
View allSame technique Information Disclosure
View allShare
External POC / Exploit Code
Leaving vuln.today
EUVD-2026-34239
GHSA-jrwr-h52h-9hh6