-
Notifications
You must be signed in to change notification settings - Fork 829
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Type registration should be required #398
Comments
Because registering classes up front and setting @NathanSweet @romix WDYT? |
@NathanSweet @romix I'd vote for this, any objections from your side? |
I agree that typically if you care about performance (and this is usually why you use Kryo), you'd register classes. So, making My only concern is: How many existing clients would be broken by this change and would need to update their code either by adding |
True, we could ask on the mailing list, gitter, twitter etc for feedback. We could also investigate how (with which default settings) major open source projects like spark use kryo. If we decide against changing the default we could prominently recommend good practices like this. |
@magro BTW, if we ask on the mailing list, gitter, twitter ,etc for feedback, we may use this opportunity to ask multiple questions ;-) E.g. we may ask specifically:
|
Ok, I can ask on the mailing list, on gitter etc we can link to that thread then. |
Can someone tell me if this has been resolved in the new version? |
The status of this ticket is correct. |
Kryo users can always change from the defaults to the settings they want. I think it is smart that the default settings are secure, and we document potential security problems for each setting. I've made this change in a local branch and this issue will be closed when that gets merged. |
This has also shown up in https://nvisium.com/resources/blog/2017/11/30/owasp-top-10-2007-2017-the-fall-of-csrf.html as well. If |
|
Hello, Could you provide an estimate as to when you could release this fix? Also, any plans of down porting the fix to it to 4.0.x version? Your inputs would be helpful. Thanks |
See #743
This is not a fix. This is just a change in the default value of a configuration option. You can already make class registration required in 4.x. As has been discussed above, backporting this to 4.x will break a lot of existing applications. |
=> error: pilgr#4 They said it was fixed in paperdb 2.7.2, but not really! fix: pilgr#194 (upgrade kryo) => why (kryo.setRegistrationRequired(false);) EsotericSoftware/kryo#398 (comment)
Type registration (class whitelisting) should be turned on by default. Otherwise, it's too simple for real-world users to be exploited by attacks like those discussed in the link below. These attacks abuse side effects resulting from constructors and finalize() in commonly available types.
This problem is compounded by adding custom deserializers, since they will probably invoke more methods on attacker-controlled objects, thus enabling new gadget chains.
I realize this will be a backwards-incompatible change.
https://www.contrastsecurity.com/security-influencers/serialization-must-die-act-1-kryo
The text was updated successfully, but these errors were encountered: