fix: the fingerprinting function at fingerprints in fingerprints.py#226
Conversation
Automated security fix generated by Orbis Security AI
|
The reasoning ("an attacker who crafts MD5 collisions can corrupt pipeline results") is a generic CWE-327 boilerplate that doesn't apply here. The actual usage of
All four are non-cryptographic uses: deduplication, sharding, and ID derivation inside a dataflow engine. There is no security boundary an MD5 collision could cross — an attacker who can already inject crafted rows into your pipeline doesn't need a hash collision to corrupt results. |
|
Thanks for the detailed context, that makes sense. I agree that my original wording overstated the security impact. I treated the MD5 use as a generic CWE-327 finding, but based on the call sites you listed, this appears to be non-cryptographic fingerprinting / ID derivation rather than a trust-boundary or integrity-check mechanism. I should not have described this as a HIGH severity vulnerability without showing an actual attacker-controlled collision path that affects a security property. I’ll leave this closed unless you would still be interested in a non-security cleanup/hardening PR with a much narrower rationale, e.g. “avoid cryptographic-hash confusion in internal fingerprints,” and with compatibility/performance considerations documented. |
Summary
Fix high severity security issue in
python/pathway/internals/fingerprints.py.Vulnerability
V-004python/pathway/internals/fingerprints.py:17Description: The fingerprinting function at fingerprints.py:17 uses hashlib.md5 to compute data fingerprints used throughout the Pathway dataflow engine for deduplication, caching, and integrity checking. MD5 is a cryptographically broken hash algorithm — practical collision attacks have been demonstrated since 2004, and chosen-prefix collision attacks are feasible with commodity hardware. An attacker who can craft two different inputs with the same MD5 hash can cause the engine to treat distinct data objects as identical, corrupting pipeline results.
Changes
python/pathway/internals/fingerprints.pyVerification
Automated security fix by OrbisAI Security