Open
Description
@NorfairKing's blog post describes a HashDoS attack on aeson
which is enabled by u-c
's O(n) handling of hash collisions and use of the same default salt for all hashing operations.
While possible mitigation measures for aeson
are discussed in haskell/aeson#864, u-c
should also prepare a proper response and possibly implement security features for users who are affected via aeson
or in other ways.
In particular, I hope to find answers for the following questions in this thread (and possibly in separate sub-threads):
- What mitigation measures can affected
u-c
users enable in the short term? - Is security against collision attacks a design goal for
u-c
?
2a. If yes, to what extent should we trade performance and API bloat for security features? - What mitigation measures should be implemented in
u-c
?
I'd also like to point out that I have very limited knowledge and experience with security issues, so I'd be very grateful if more experienced people could chime in and share their advice. :)