|
| 1 | +=encoding utf8 |
| 2 | + |
| 3 | +=head1 NAME |
| 4 | + |
| 5 | +perl5382delta - what is new for perl v5.38.2 |
| 6 | + |
| 7 | +=head1 DESCRIPTION |
| 8 | + |
| 9 | +This document describes differences between the 5.38.0 release and the 5.38.2 |
| 10 | +release. B<Please note:> This document ignores Perl 5.38.1, a broken release |
| 11 | +which existed for a couple of days only. |
| 12 | + |
| 13 | +If you are upgrading from an earlier release such as 5.37.0, first read |
| 14 | +L<perl5380delta>, which describes differences between 5.37.0 and 5.38.0. |
| 15 | + |
| 16 | +=head1 Security |
| 17 | + |
| 18 | +This release fixes the following security issues. |
| 19 | + |
| 20 | +=head2 CVE-2023-47038 - Write past buffer end via illegal user-defined Unicode property |
| 21 | + |
| 22 | +This vulnerability was reported directly to the Perl security team by |
| 23 | +Nathan Mills C< [email protected]>. |
| 24 | + |
| 25 | +A crafted regular expression when compiled by perl 5.30.0 through |
| 26 | +5.38.0 can cause a one-byte attacker controlled buffer overflow in a |
| 27 | +heap allocated buffer. |
| 28 | + |
| 29 | +=head2 CVE-2023-47039 - Perl for Windows binary hijacking vulnerability |
| 30 | + |
| 31 | +This vulnerability was reported to the Intel Product Security Incident |
| 32 | +Response Team (PSIRT) by GitHub user ycdxsb |
| 33 | +L<https://github.com/ycdxsb/WindowsPrivilegeEscalation>. PSIRT then |
| 34 | +reported it to the Perl security team. |
| 35 | + |
| 36 | +Perl for Windows relies on the system path environment variable to |
| 37 | +find the shell (C<cmd.exe>). When running an executable which uses |
| 38 | +Windows Perl interpreter, Perl attempts to find and execute C<cmd.exe> |
| 39 | +within the operating system. However, due to path search order issues, |
| 40 | +Perl initially looks for cmd.exe in the current working directory. |
| 41 | + |
| 42 | +An attacker with limited privileges can exploit this behavior by |
| 43 | +placing C<cmd.exe> in locations with weak permissions, such as |
| 44 | +C<C:\ProgramData>. By doing so, when an administrator attempts to use |
| 45 | +this executable from these compromised locations, arbitrary code can |
| 46 | +be executed. |
| 47 | + |
| 48 | +=head1 Acknowledgements |
| 49 | + |
| 50 | +Perl 5.38.2 represents approximately 5 months of development since Perl |
| 51 | +5.38.0 and contains approximately 6,100 lines of changes across 34 files |
| 52 | +from 4 authors. |
| 53 | + |
| 54 | +Excluding auto-generated files, documentation and release tools, there were |
| 55 | +approximately 1,300 lines of changes to 9 .pm, .t, .c and .h files. |
| 56 | + |
| 57 | +Perl continues to flourish into its fourth decade thanks to a vibrant |
| 58 | +community of users and developers. The following people are known to have |
| 59 | +contributed the improvements that became Perl 5.38.2: |
| 60 | + |
| 61 | +Karl Williamson, Paul Evans, Steve Hay, Tony Cook. |
| 62 | + |
| 63 | +The list above is almost certainly incomplete as it is automatically |
| 64 | +generated from version control history. In particular, it does not include |
| 65 | +the names of the (very much appreciated) contributors who reported issues to |
| 66 | +the Perl bug tracker. |
| 67 | + |
| 68 | +Many of the changes included in this version originated in the CPAN modules |
| 69 | +included in Perl's core. We're grateful to the entire CPAN community for |
| 70 | +helping Perl to flourish. |
| 71 | + |
| 72 | +For a more complete list of all of Perl's historical contributors, please |
| 73 | +see the F<AUTHORS> file in the Perl source distribution. |
| 74 | + |
| 75 | +=head1 Reporting Bugs |
| 76 | + |
| 77 | +If you find what you think is a bug, you might check the perl bug database |
| 78 | +at L<https://github.com/Perl/perl5/issues>. There may also be information at |
| 79 | +L<http://www.perl.org/>, the Perl Home Page. |
| 80 | + |
| 81 | +If you believe you have an unreported bug, please open an issue at |
| 82 | +L<https://github.com/Perl/perl5/issues>. Be sure to trim your bug down to a |
| 83 | +tiny but sufficient test case. |
| 84 | + |
| 85 | +If the bug you are reporting has security implications which make it |
| 86 | +inappropriate to send to a public issue tracker, then see |
| 87 | +L<perlsec/SECURITY VULNERABILITY CONTACT INFORMATION> |
| 88 | +for details of how to report the issue. |
| 89 | + |
| 90 | +=head1 Give Thanks |
| 91 | + |
| 92 | +If you wish to thank the Perl 5 Porters for the work we had done in Perl 5, |
| 93 | +you can do so by running the C<perlthanks> program: |
| 94 | + |
| 95 | + perlthanks |
| 96 | + |
| 97 | +This will send an email to the Perl 5 Porters list with your show of thanks. |
| 98 | + |
| 99 | +=head1 SEE ALSO |
| 100 | + |
| 101 | +The F<Changes> file for an explanation of how to view exhaustive details on |
| 102 | +what changed. |
| 103 | + |
| 104 | +The F<INSTALL> file for how to build Perl. |
| 105 | + |
| 106 | +The F<README> file for general stuff. |
| 107 | + |
| 108 | +The F<Artistic> and F<Copying> files for copyright information. |
| 109 | + |
| 110 | +=cut |
0 commit comments