An issue was discovered in Python 3.11 through 3.11.4. If a path containing '\0' bytes is passed to os.path.normpath(), the path will be truncated unexpectedly at the first '\0' byte. There are plausible cases in which an application would have rejected a filename for security reasons in Python 3.10.x or earlier, but that filename is no longer rejected in Python 3.11.x.
https://github.com/ddahan/cve-explainer
https://github.com/JawadPy/CVE-Exploit-Collection
https://github.com/JawadPy/CVE-2023-41105
https://security.netapp.com/advisory/ntap-20231006-0015/
https://github.com/python/cpython/pull/107983
https://github.com/python/cpython/pull/107982