-
-
Notifications
You must be signed in to change notification settings - Fork 31.8k
GH-125789: fix fut._callbacks
to always return a copy of callbacks
#125922
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
Conversation
kumaraditya303
commented
Oct 24, 2024
•
edited by bedevere-app
bot
Loading
edited by bedevere-app
bot
- Issue: Lack of type checks in asyncio.Future can cause crash or the ability to craft malicious objects #125789
Misc/NEWS.d/next/Library/2024-10-24-14-08-10.gh-issue-125789.eaiAMw.rst
Outdated
Show resolved
Hide resolved
122f789
to
63f1957
Compare
== Tests result: SUCCESS ==
1 test skipped:
test_asyncio.test_unix_events
30 tests OK.
Total duration: 6 min 8 sec
Total tests: run=2,242 skipped=74
Total test files: run=31/31 skipped=1
Result: SUCCESS
Refleak tested |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I would add a test for that (e.g., one of the test that Nico wrote with the evil classes) to see that the interpreter does not crash anymore.
EDIT: My previous comment was wrong. We can still change the length by just adding new callbacks but we cannot change the type of the items.
I think it is more appropriate to add that to your PR which fixes the UAF issues. |
Thanks @kumaraditya303 for the PR 🌮🎉.. I'm working now to backport this PR to: 3.12, 3.13. |
Sorry, @kumaraditya303, I could not cleanly backport this to
|
Sorry, @kumaraditya303, I could not cleanly backport this to
|
GH-125976 is a backport of this pull request to the 3.13 branch. |
…backs (python#125922) Fix `asyncio.Future._callbacks` to always return a copy of the internal list of callbacks to avoid mutation from user code affecting the internal state. (cherry picked from commit cae853e)
…of callbacks (pythonGH-125922) (pythonGH-125976) pythonGH-125789: fix `fut._callbacks` to always return a copy of callbacks (pythonGH-125922) Fix `asyncio.Future._callbacks` to always return a copy of the internal list of callbacks to avoid mutation from user code affecting the internal state. (cherry picked from commit f54e1a2) Co-authored-by: Kumar Aditya <[email protected]> (cherry picked from commit cae853e)
…lbacks (GH-125922) (#125977) GH-125789: fix `fut._callbacks` to always return a copy of callbacks (GH-125922) Fix `asyncio.Future._callbacks` to always return a copy of the internal list of callbacks to avoid mutation from user code affecting the internal state. Co-authored-by: Kumar Aditya <[email protected]> (cherry picked from commit cae853e)
…backs (python#125922) Fix `asyncio.Future._callbacks` to always return a copy of the internal list of callbacks to avoid mutation from user code affecting the internal state.