You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
We faced a 'Segmentation fault' issue when using NewRelic APM 10.19.0.9-1 with PHP 8.1 and the latest versions of SourceGuardian or IonCube PHP extensions when using the encoded files.
Steps to Reproduce
Install the latest version of SourceGuardian or IonCube loaders
Description
We faced a 'Segmentation fault' issue when using NewRelic APM 10.19.0.9-1 with PHP 8.1 and the latest versions of SourceGuardian or IonCube PHP extensions when using the encoded files.
Steps to Reproduce
PHP 8.1.27 (cli) (built: Feb 20 2024 15:31:34) (NTS)
ionCube PHP Loader v13.0.2
SourceGuardian v14.0.2
$ php -m |grep newrelic
newrelic
$ php AbstractCategory_sg.php
Segmentation fault (core dumped)
$ php AbstractCategory_ioncube.php
Segmentation fault (core dumped)
It is reproducible for both PHP-FPM and CLI, at the same time when the Newrelic PHP extension is disabled the error isn't reproducible.
Relevant Logs / Console output
An example of strace output:
With enabled SourceGuadian loader on a file encoded by SourceGuardian encoder:
read(7, "<?php\r\nreturn sg_load('A574EF8E4CDFF5BCAAQAAAAXAAAABHAAAACABAAAAAAAAAD/DQrnshe3//JpbIWOTWBixCaUoxpbgIXEQ9rv6C8yrBUNY72JTmzkRpgl3sgcmPtWVIWp84RqB5snz9pVkWXdUHZlPhSARK56cTyMs4MJRr8XsqTedsm4BmQl0yaE1+n3ewecgK5KHMwKG80z8sOdywcAAACYtQAAXAy1ND588Uv9o2trmFLjPqTv6"..., 8192) = 8192 close(7) = 0 --- SIGSEGV {si_signo=SIGSEGV, si_code=SEGV_ACCERR, si_addr=0x7f895ec7d1e0} --- getpid() = 2259803 write(3, "Process 2259803 (version 10.19.0.9) received signal 11: segmentation violation\n", 79) = 79 write(3, "process id 2259803 fatal signal (SIGSEGV, SIGFPE, SIGILL, SIGBUS, ...) - stack dump follows (code=0x7f8969028000 bss=0x7f8969133fbc):\n", 135) = 135 futex(0x7f8962289088, FUTEX_WAKE_PRIVATE, 2147483647) = 0
With enabled IonCube loader on a file encoded by IonCube encoder:
openat(AT_FDCWD, "/home/user/AbstractCategory_ioncube.php", O_RDONLY) = 7 fstat(7, {st_mode=S_IFREG|0644, st_size=64996, ...}) = 0 mmap(NULL, 64996, PROT_READ, MAP_SHARED, 7, 0) = 0x7ff3bc23e000 brk(NULL) = 0x1ca6000 brk(0x1cc7000) = 0x1cc7000 brk(NULL) = 0x1cc7000 brk(0x1ce8000) = 0x1ce8000 brk(NULL) = 0x1ce8000 brk(0x1d09000) = 0x1d09000 brk(NULL) = 0x1d09000 brk(0x1d2a000) = 0x1d2a000 brk(NULL) = 0x1d2a000 brk(0x1d4b000) = 0x1d4b000 brk(NULL) = 0x1d4b000 brk(0x1d70000) = 0x1d70000 munmap(0x7ff3bc23e000, 64996) = 0 close(7) = 0 --- SIGSEGV {si_signo=SIGSEGV, si_code=SEGV_MAPERR, si_addr=0x7ff300000001} --- getpid() = 2260021 write(3, "Process 2260021 (version 10.19.0.9) received signal 11: segmentation violation\n", 79) = 79
Your Environment
We can replicate the issue in several different environments (CentOS 7, RockyLinux 8) using PHP 8.1 .
The text was updated successfully, but these errors were encountered: