| From fd23f4370d24d00352d1cc09b16687f16da6ae5b Mon Sep 17 00:00:00 2001 |
| From: Tony Cook <tony@develop-help.com> |
| Date: Tue, 12 May 2026 14:47:31 +1000 |
| Subject: [PATCH 1/2] perl/perl-security#147: test cases |
| |
| The suggested case from the ticket and an alternative. |
| |
| (cherry picked from commit e842efdafe7c51a687a4907e4887988fe6a025ef) |
| |
| CVE: CVE-2026-8376 |
| Upstream-Status: Backport [https://github.com/Perl/perl5/commit/e842efdafe7c51a687a4907e4887988fe6a025ef] |
| Signed-off-by: Theo Gaige (Schneider Electric) <tgaige.opensource@witekio.com> |
| --- |
| t/re/pat_psycho.t | 18 ++++++++++++++++-- |
| 1 file changed, 16 insertions(+), 2 deletions(-) |
| |
| diff --git a/t/re/pat_psycho.t b/t/re/pat_psycho.t |
| index 336039521d..73a7992372 100644 |
| --- a/t/re/pat_psycho.t |
| +++ b/t/re/pat_psycho.t |
| @@ -10,7 +10,7 @@ |
| use strict; |
| use warnings; |
| use 5.010; |
| - |
| +use Config; |
| |
| sub run_tests; |
| |
| @@ -31,7 +31,7 @@ BEGIN { |
| |
| skip_all('$PERL_SKIP_PSYCHO_TEST set') if $ENV{PERL_SKIP_PSYCHO_TEST}; |
| |
| -plan tests => 15; # Update this when adding/deleting tests. |
| +plan tests => 17; # Update this when adding/deleting tests. |
| |
| run_tests() unless caller; |
| |
| @@ -211,6 +211,20 @@ EOF |
| |
| |
| } |
| + |
| + SKIP: |
| + { # sec #147 |
| + $Config{ptrsize} == 4 |
| + or skip "these only fail on x32 and use too much memory on x64", 2; |
| + local $::TODO = "This crashes"; |
| + # original case |
| + fresh_perl_like('/\x{10000}{1073741824}/', |
| + qr/Regexp out of space/, {}, "ssize_t overflow"); |
| + |
| + # synthesized but similar case |
| + fresh_perl_like('/(?:\x{10001}\x{10000}){536870912}/', |
| + qr/Regexp out of space/, {}, "ssize_t overflow again"); |
| + } |
| } # End of sub run_tests |
| |
| 1; |
| -- |
| 2.43.0 |
| |