You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
My team too was "hit" by #120 not having read the change log carefully enough.
Digging deeper, a colleague discovered that while (signs) 0.24 -> 1.1.0 (verifies) path is broken / requires a work-around, the 1.1.0 -> 0.24 path still kinda works.
It works by the virtue of 1.1.0 sending much larger timestamps (numerically), which are interpreted as being far in the future by 0.24. Thus true positives (recent messages) work, and false positives appear (1.1.0 outdated messages are interpreted as valid by 0.24).
This is because TimedSerializer/TimestampSigner only validate that message more recent than X.
I have a gut feeling that it's unsafe (although a point was made that since both sender and recipient are under control of same party, this is hard to exploit).
I think that validation should be message in interval [now, now+max_age), perhaps with affordance for clock drift / imperfect time synchronisation it would be [now - ε, now + max_age + ε)
The text was updated successfully, but these errors were encountered:
My team too was "hit" by #120 not having read the change log carefully enough.
Digging deeper, a colleague discovered that while
(signs) 0.24 -> 1.1.0 (verifies)
path is broken / requires a work-around, the1.1.0 -> 0.24
path still kinda works.It works by the virtue of 1.1.0 sending much larger timestamps (numerically), which are interpreted as being far in the future by 0.24. Thus true positives (recent messages) work, and false positives appear (1.1.0 outdated messages are interpreted as valid by 0.24).
This is because TimedSerializer/TimestampSigner only validate that
message more recent than X
.I have a gut feeling that it's unsafe (although a point was made that since both sender and recipient are under control of same party, this is hard to exploit).
I think that validation should be
message in interval [now, now+max_age)
, perhaps with affordance for clock drift / imperfect time synchronisation it would be[now - ε, now + max_age + ε)
The text was updated successfully, but these errors were encountered: