cpython/Misc/NEWS.d/next
Miss Islington (bot) 85bbfa8a4b
[3.12] gh-112334: Restore subprocess's use of vfork() & fix extra_groups=[] behavior (GH-112617) (#112731)
Restore `subprocess`'s intended use of `vfork()` by default for performance on Linux;
also fixes the behavior of `extra_groups=[]` which was unintentionally broken in 3.12.0:

Fixed a performance regression in 3.12's :mod:`subprocess` on Linux where it
would no longer use the fast-path ``vfork()`` system call when it could have
due to a logic bug, instead falling back to the safe but slower ``fork()``.

Also fixed a security bug introduced in 3.12.0.  If a value of ``extra_groups=[]``
was passed to :mod:`subprocess.Popen` or related APIs, the underlying
``setgroups(0, NULL)`` system call to clear the groups list would not be made
in the child process prior to ``exec()``.

The security issue was identified via code inspection in the process of
fixing the first bug.  Thanks to @vain for the detailed report and
analysis in the initial bug on Github.

(cherry picked from commit 9fe7655c6c)

+ Reword NEWS for the bugfix/security release. (mentions the assigned CVE number)

Co-authored-by: Gregory P. Smith [Google LLC] <greg@krypto.org>
Co-authored-by: Serhiy Storchaka <storchaka@gmail.com>
2023-12-04 23:33:59 +00:00
..
Build [3.12] gh-112088: Run autoreconf in GHA check_generated_files (GH-112090) (#112159) 2023-11-16 15:55:40 +01:00
C API [3.12] gh-106560: Fix redundant declarations in Include/ (#112611) (#112650) 2023-12-03 11:45:32 +00:00
Core and Builtins [3.12] gh-105967: Work around a macOS bug, limit zlib C library crc32 API calls to 1gig (GH-112615) (#112724) 2023-12-04 20:29:23 +00:00
Documentation [3.12] gh-111699: Move smtpd note to dedicated section in What's New Python 3.12 doc (GH-112544) (GH-112552) 2023-11-30 13:00:08 +00:00
IDLE [3.12] gh-79871: IDLE - Fix and test debugger module (GH-11451) (#112256) 2023-11-19 04:35:59 +00:00
Library [3.12] gh-112334: Restore subprocess's use of vfork() & fix extra_groups=[] behavior (GH-112617) (#112731) 2023-12-04 23:33:59 +00:00
macOS [3.12] gh-110950: add upstream Tk fixes to macOS installer. (GH-111041) (#112294) 2023-11-21 08:46:13 +00:00
Security Python 3.12.0rc2 2023-09-05 23:57:19 +02:00
Tests [3.12] gh-108927: Fix removing testing modules from sys.modules (GH-108952) (ПР-112711) 2023-12-04 16:17:38 +00:00
Tools-Demos Python 3.12.0 2023-10-02 13:48:14 +02:00
Windows gh-111856: Fix os.fstat on windows with FAT32 and exFAT filesystem (GH-112038) 2023-11-13 16:25:01 +00:00