zodbpickle has recently entered Debian. And since it forks code from Python, it led to the following discussion:
https://lists.debian.org/debian-security-tracker/2018/04/msg00021.html
In particular, I discovered that https://bugs.python.org/issue6784 is fixed and if we manage to get back the noload operation in Python 3 (it existed in Python 2), we could stop forking the stdlib modules.
- About issue 6784, there's apparently only a small difference between upstream and zodbpickle. Upstream does not have
errors='bytes' (used in ZODB._compat), but I guess we can achieve the same result with:
try:
return loads(s)
except UnicodeDecodeError:
return loads(s, encoding='bytes')
- What's the status 'noload' in Python 3 stdlib ? I could not find anything in bugs.python.org.
zodbpickle has recently entered Debian. And since it forks code from Python, it led to the following discussion:
https://lists.debian.org/debian-security-tracker/2018/04/msg00021.html
In particular, I discovered that https://bugs.python.org/issue6784 is fixed and if we manage to get back the
noloadoperation in Python 3 (it existed in Python 2), we could stop forking the stdlib modules.errors='bytes'(used inZODB._compat), but I guess we can achieve the same result with: