Skip to content
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

2.3.3 is not backward compatible with 2.3.2 #38

Open
vsoskov opened this issue Sep 26, 2024 · 3 comments
Open

2.3.3 is not backward compatible with 2.3.2 #38

vsoskov opened this issue Sep 26, 2024 · 3 comments

Comments

@vsoskov
Copy link

vsoskov commented Sep 26, 2024

There are changes to public methods that make it not backward compatible.
For example
func (src *AuthenticationOk) Encode(dst []byte) []byte {

func (src *AuthenticationOk) Encode(dst []byte) ([]byte, error)

There are vulnerabilities in the previous version which are fixed in 2.3.3 but it can't be used.

@jackc
Copy link
Owner

jackc commented Sep 26, 2024

The signature change is part of the fix. Sorry, no good way around it.

@vsoskov
Copy link
Author

vsoskov commented Sep 30, 2024

I understand there is no "good way" around it. The problems is this way is in most cases just unusable. Can we do something that can be used? For example just panic on error if in almost all cases error never happens.
Also if you change signatures don't we have to increase major version?

@jackc
Copy link
Owner

jackc commented Sep 30, 2024

I understand there is no "good way" around it. The problems is this way is in most cases just unusable. Can we do something that can be used? For example just panic on error if in almost all cases error never happens.

I considered panic. That removes the command injection vulnerability, but replaces it with a DoS vulnerability.

Also if you change signatures don't we have to increase major version?

As I understand it, incompatibilities due to security fixes are generally considered allowable.


Also, this change was made over 6 months ago. If we were to change the method signature back now, it wold break everyone who has already made the change.

annielzy added a commit to annielzy/wal-g that referenced this issue Oct 3, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants