GeezerVisonThe World Wide Web, restored to 800 pixels of glory. | ||||||||
| Home|About|Gaming cabinet|Archives|How it works|Starter sites | ||||||||
GeezerVison is showing github.com — bpo-35214: Fix OOB memory access in unicode escape parser by gpshead · Pull Request #10506 · python/cpython Conversation
|
|
actually my news entry and description may not be correct. this may not be specific to f-strings but to any unicode string escape parsing? |
Sorry, something went wrong.
There was an error while loading. Please reload this page.
|
Confirmed, this is in the unicode parser, not f-string related. that just happened to be the unittest that triggered it. |
Sorry, something went wrong.
There was an error while loading. Please reload this page.
|
In terms of severity, this was only ever a single byte read. The code path it entered if that byte happened to be a } did check the bounds and would result in the desired error message (which is why this went unnoticed for so long). With most memory allocations it is unlikely that this byte would be on an unmapped page and crash the program, though I suspect it would be possible to trigger that by using a large enough string to generate such a specific allocation. At most that is a crash of an interpreter from an errant memory read. Denial of service at best if someone is handing user data to the unicode escape parser. |
Sorry, something went wrong.
There was an error while loading. Please reload this page.
|
Thanks @gpshead for the PR 🌮🎉.. I'm working now to backport this PR to: 2.7, 3.6, 3.7. |
Sorry, something went wrong.
There was an error while loading. Please reload this page.
…0506) Discovered using clang's MemorySanitizer when it ran python3's test_fstring test_misformed_unicode_character_name. An msan build will fail by simply executing: ./python -c 'u"\N"' (cherry picked from commit 746b2d3) Co-authored-by: Gregory P. Smith <[email protected]>
|
GH-10522 is a backport of this pull request to the 3.7 branch. |
Sorry, something went wrong.
There was an error while loading. Please reload this page.
|
GH-10523 is a backport of this pull request to the 3.6 branch. |
Sorry, something went wrong.
There was an error while loading. Please reload this page.
|
Sorry, @gpshead, I could not cleanly backport this to |
Sorry, something went wrong.
There was an error while loading. Please reload this page.
…0506) Discovered using clang's MemorySanitizer when it ran python3's test_fstring test_misformed_unicode_character_name. An msan build will fail by simply executing: ./python -c 'u"\N"' (cherry picked from commit 746b2d3) Co-authored-by: Gregory P. Smith <[email protected]>
Discovered using clang's MemorySanitizer when it ran python3's test_fstring test_misformed_unicode_character_name. An msan build will fail by simply executing: ./python -c 'u"\N"' (cherry picked from commit 746b2d3) Co-authored-by: Gregory P. Smith <[email protected]>
…0506) (GH-10522) Discovered using clang's MemorySanitizer when it ran python3's test_fstring test_misformed_unicode_character_name. An msan build will fail by simply executing: ./python -c 'u"\N"' (cherry picked from commit 746b2d3) Co-authored-by: Gregory P. Smith <[email protected]> https://bugs.python.org/issue35214
|
GH-10538 is a backport of this pull request to the 2.7 branch. |
Sorry, something went wrong.
There was an error while loading. Please reload this page.
…0506) (GH-10538) Discovered using clang's MemorySanitizer. A msan build will fail by simply executing: ./python -c 'u"\N"' (cherry picked from commit 746b2d3) Co-authored-by: Gregory P. Smith <[email protected]> [Google LLC]
There was an error while loading. Please reload this page.
Successfully merging this pull request may close these issues.
There was an error while loading. Please reload this page.