A cache entry stores the task's duration as seconds plus nanoseconds. When decoding an entry, vp run builds the duration without checking those fields, and values that overflow make it panic. Release builds abort on panic, so one corrupt or malicious entry in the remote cache kills the whole run instead of being treated as a miss.
Expected: an entry that doesn't decode is a cache miss, like other corrupt remote entries.
Affects remote cache reads (#756).
A cache entry stores the task's duration as seconds plus nanoseconds. When decoding an entry,
vp runbuilds the duration without checking those fields, and values that overflow make it panic. Release builds abort on panic, so one corrupt or malicious entry in the remote cache kills the whole run instead of being treated as a miss.Expected: an entry that doesn't decode is a cache miss, like other corrupt remote entries.
Affects remote cache reads (#756).