https://bugzilla.redhat.com/show_bug.cgi?id=2240475
Bug ID: 2240475 Summary: ELF module broken by pyelftools update Product: Fedora Version: 38 Hardware: All OS: Linux Status: NEW Component: python-pwntools Keywords: Regression, Upgrades Severity: high Assignee: redhat@flyn.org Reporter: alex@alexyzhang.dev QA Contact: extras-qa@fedoraproject.org CC: epel-packagers-sig@lists.fedoraproject.org, rebus@seznam.cz, redhat@flyn.org Target Milestone: --- Classification: Fedora
The pyelftools 0.30 update removed the elftools.common.py3compat module, which the currently-packaged version of Pwntools uses. This causes a ModuleNotFoundError when attempting to import Pwntools. Updating to Pwntools 4.11.0 should fix this.
Reproducible: Always
Steps to Reproduce: Run `from pwn import *` in Python. Actual Results: Traceback (most recent call last): File "<stdin>", line 1, in <module> File "/usr/lib/python3.11/site-packages/pwn/__init__.py", line 4, in <module> from pwn.toplevel import * File "/usr/lib/python3.11/site-packages/pwn/toplevel.py", line 23, in <module> from pwnlib import * File "/usr/lib/python3.11/site-packages/pwnlib/dynelf.py", line 57, in <module> from pwnlib import elf File "/usr/lib/python3.11/site-packages/pwnlib/elf/__init__.py", line 9, in <module> from pwnlib.elf.corefile import Core File "/usr/lib/python3.11/site-packages/pwnlib/elf/corefile.py", line 79, in <module> from elftools.common.py3compat import bytes2str ModuleNotFoundError: No module named 'elftools.common.py3compat'
Expected Results: The import statement executes without error.
Fix: https://github.com/Gallopsled/pwntools/pull/2261