-
Notifications
You must be signed in to change notification settings - Fork 23
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
What about potentially vulnerable classes that *aren't* in the config? #18
Comments
possibly solved by #15 ? |
Yes. Only known exploits are fixed by the mod, there might still be a ton of affected mods out there we haven't discovered yet and all the exploits that come with them won't be fixed by our mod. As we stated multiple times, we got rushed to provide this fix early, we were just in the process of establishing contact to curseforge and modrinth so we would have two massive mod databases to scan for exploits but now we have to use what we got and this is it. Still, the exploits that we could fix with this mod are way better than being completely unprotected. |
As already mentioned, our patch only applies to the known vulnerable classes in the config file so we're able to provide a valid deserialization allowlist for all cases instead of possibly breaking the mods behavior when we outright block all attempts of deserialization. |
Why not use the serialization filtering feature? That avoids the need to rewrite bytecode and it applies to the whole process: https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/io/ObjectInputFilter.html See "Serialization Filters" here: |
The problem with Then we also noticed that many mods use OIS internally to persist some state (so not in the direct network path) which we would also completely break with that approach probably. I know that our approach with just fixing the classes that we know of definitely isn't perfect, but I think it's a good compromise between security and literally breaking any mod in existance. |
Just to say, I plan to work on a good way to do this. |
Forgive me if I misread the code, but
serializationisbad/core/src/main/java/io/dogboy/serializationisbad/core/Patches.java
Line 19 in 4baf1a9
The text was updated successfully, but these errors were encountered: