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

Don't allow update_into to mutate immutable objects #8230

Merged
merged 1 commit into from
Feb 7, 2023

Conversation

alex
Copy link
Member

@alex alex commented Feb 7, 2023

No description provided.

@reaperhulk reaperhulk enabled auto-merge (squash) February 7, 2023 16:25
@reaperhulk reaperhulk merged commit 9fbf84e into pyca:main Feb 7, 2023
@alex alex deleted the dont-mutate-me-bro branch February 7, 2023 16:35
reaperhulk pushed a commit to reaperhulk/cryptography that referenced this pull request Feb 7, 2023
alex added a commit that referenced this pull request Feb 7, 2023
* Don't allow update_into to mutate immutable objects (#8230)

* add changelog for 39.0.1

* oops

* bump versions

* remove circle

---------

Co-authored-by: Alex Gaynor <alex.gaynor@gmail.com>
@zhuofeng6
Copy link

Does this involve interface changes?

@reaperhulk
Copy link
Member

It behaves exactly the same unless you were passing an immutable type (e.g. a byte string). So the interface has technically changed but in practice it has only changed for the vulnerable path.

@zhuofeng6
Copy link

In this case, change the buf class type from bytes to bytearray. it is OK?

it can't use the bytes type anymore.

def update_into(self, data: bytes, buf: bytes) -> int:

@zhuofeng6
Copy link

I'm not sure what the effect of this vulnerability is.

@reaperhulk
Copy link
Member

Unfortunately the Python type hint system doesn’t have a way to represent “all objects that implement the buffer protocol but only the mutable types”, so bytes is still the closest to “correct” type that we can declare.

@zhuofeng6
Copy link

What is the impact of this cve? I don't seem to feel the threat of this vulnerability.

icanhasmath added a commit to ActiveState/cryptography that referenced this pull request Jan 18, 2024
Don't allow update_into to mutate immutable objects pyca#8230
pyca#8230
icanhasmath added a commit to ActiveState/cryptography that referenced this pull request Jan 18, 2024
Don't allow update_into to mutate immutable objects pyca#8230
pyca#8230
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Development

Successfully merging this pull request may close these issues.

3 participants