Highlights
Auth Bypass: 24 prior fixes. Scrutinize any change in this area.
golem/task/tasksession.py: most-fixed (17 issues). Treat as high-risk during review.
35 high-severity fixes in this history; regressions here are high-impact.
Recurring patterns
The bug types that recur here, drawn from past fixes, not open vulnerabilities.
Deserialization of Untrusted Data: The application historically relied on unsafe deserialization mechanisms (such as pickle, cPickle, and jsonpickle) to decode data received over the network or from local storage, creating direct pathways for remote code execution. These were replaced with safe serialization formats like CBOR.
Auth Bypass: Handshake and session initialization previously trusted self-asserted metadata (e.g., client_key_id) without verifying underlying cryptographic signatures, allowing malicious nodes to spoof identities or hijack peer connections.
Auth Bypass: Multiple critical message handlers in the task session module (such as SubtaskResultsAccepted and WaitingForResults) failed to verify cryptographic signatures or validate that the requesting node possessed ownership of the task, allowing unauthorized state manipulation.