<feed xmlns='http://www.w3.org/2005/Atom'>
<title>snuffleupagus/src/sp_utils.c, branch optim85</title>
<subtitle>Security module for php7 and php8 - Killing bugclasses and virtual-patching the rest! 
</subtitle>
<id>http://git.dustri.org/snuffleupagus/atom?h=optim85</id>
<link rel='self' href='http://git.dustri.org/snuffleupagus/atom?h=optim85'/>
<link rel='alternate' type='text/html' href='http://git.dustri.org/snuffleupagus/'/>
<updated>2026-04-24T09:50:40Z</updated>
<entry>
<title>Fix a memory leak in sp_log_disable/sp_log_disable_ret</title>
<updated>2026-04-24T09:50:40Z</updated>
<author>
<name>jvoisin</name>
</author>
<published>2026-04-24T09:50:40Z</published>
<link rel='alternate' type='text/html' href='http://git.dustri.org/snuffleupagus/commit/?id=36179282f5f52a7e54be34964b4afd4fd0194e4f'/>
<id>urn:sha1:36179282f5f52a7e54be34964b4afd4fd0194e4f</id>
<content type='text'>
php_raw_url_encode returned a new zend_string, but the old arg_value_dup is
never released. Also arg_value_dup was reassigned, leaking the initial
zend_string_init allocation.
</content>
</entry>
<entry>
<title>Harden against snprintf(3) truncation</title>
<updated>2026-02-22T22:57:53Z</updated>
<author>
<name>Christian Göttsche</name>
</author>
<published>2026-02-22T21:41:39Z</published>
<link rel='alternate' type='text/html' href='http://git.dustri.org/snuffleupagus/commit/?id=b441bfe693435f5d8c8ae4fd04ec3d4dae49070f'/>
<id>urn:sha1:b441bfe693435f5d8c8ae4fd04ec3d4dae49070f</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Define PATH_MAX and update its usage</title>
<updated>2026-02-22T20:10:10Z</updated>
<author>
<name>cgzones</name>
</author>
<published>2026-02-22T20:10:10Z</published>
<link rel='alternate' type='text/html' href='http://git.dustri.org/snuffleupagus/commit/?id=50fb9d8a8f040729c3472998aea0bdd14b1b7805'/>
<id>urn:sha1:50fb9d8a8f040729c3472998aea0bdd14b1b7805</id>
<content type='text'>
</content>
</entry>
<entry>
<title>feat(log): add the possibility to log to a file</title>
<updated>2025-10-24T21:55:13Z</updated>
<author>
<name>jvoisin</name>
</author>
<published>2025-10-24T21:50:18Z</published>
<link rel='alternate' type='text/html' href='http://git.dustri.org/snuffleupagus/commit/?id=6ea4278a512bc9f1f816844222e65a4ea670db8e'/>
<id>urn:sha1:6ea4278a512bc9f1f816844222e65a4ea670db8e</id>
<content type='text'>
</content>
</entry>
<entry>
<title>fix(log): systematically drop when .drop() is used</title>
<updated>2025-10-02T13:22:08Z</updated>
<author>
<name>jvoisin</name>
</author>
<published>2025-10-02T13:22:08Z</published>
<link rel='alternate' type='text/html' href='http://git.dustri.org/snuffleupagus/commit/?id=da8c7aebc5602c04b771ada71a098ccb23d83a48'/>
<id>urn:sha1:da8c7aebc5602c04b771ada71a098ccb23d83a48</id>
<content type='text'>
When the `php` logging facility is used, the error could have been caught by
using `set_error_handler` and whatnot. This commit ensures that if the
`.drop()` option is set, we're calling `zend_bailout()` that can't be caught.

An attacker could have used this issue to silently perform some recon of the
running environment. This isn't considered a vulnerability as an attacker
with arbitrary php code execution can simply use the use-after-free of the day
to gain arbitrary (native) code execution anyway, after detecting that
Snuffleupagus is in use, to take little risks of detection.
</content>
</entry>
<entry>
<title>Rename a handful of global constants</title>
<updated>2025-10-02T10:16:29Z</updated>
<author>
<name>jvoisin</name>
</author>
<published>2025-10-02T10:16:29Z</published>
<link rel='alternate' type='text/html' href='http://git.dustri.org/snuffleupagus/commit/?id=09bc3ffc8734cf2437e14ab123c7b732db53b836'/>
<id>urn:sha1:09bc3ffc8734cf2437e14ab123c7b732db53b836</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Fix a portability issue</title>
<updated>2024-06-14T17:26:31Z</updated>
<author>
<name>jvoisin</name>
</author>
<published>2024-06-14T17:26:31Z</published>
<link rel='alternate' type='text/html' href='http://git.dustri.org/snuffleupagus/commit/?id=b005df282da43a2ba17b38e7da06a69353ea2845'/>
<id>urn:sha1:b005df282da43a2ba17b38e7da06a69353ea2845</id>
<content type='text'>
This should fix the following compilation issue:

```
/wrkdirs/usr/ports/security/snuffleupagus/work-php83/snuffleupagus-0.10.0/src/sp_utils.c:438:37: error: too few arguments provided to function-like macro invocation
  438 |     memcpy(mb_name, ZEND_STRL("mb_"));
      |                                     ^
/usr/include/ssp/string.h:117:9: note: macro 'memcpy' defined here
  117 | #define memcpy(dst, src, len) __ssp_bos_check3(memcpy, dst, src, len)
```
</content>
</entry>
<entry>
<title>Declare file local variables and functions static</title>
<updated>2024-06-06T14:27:31Z</updated>
<author>
<name>Christian Göttsche</name>
</author>
<published>2024-05-29T18:38:33Z</published>
<link rel='alternate' type='text/html' href='http://git.dustri.org/snuffleupagus/commit/?id=d82ab8d20191a9ebdb83f918c62fc6c32f068b01'/>
<id>urn:sha1:d82ab8d20191a9ebdb83f918c62fc6c32f068b01</id>
<content type='text'>
Avoid missing prototype warnings by declaring variables and functions
that are only used in a single file static.
</content>
</entry>
<entry>
<title>Url encode functions arguments when logging them</title>
<updated>2023-02-02T12:17:22Z</updated>
<author>
<name>jvoisin</name>
</author>
<published>2023-02-01T20:12:58Z</published>
<link rel='alternate' type='text/html' href='http://git.dustri.org/snuffleupagus/commit/?id=2dcf2a2d7578d1e43ee7e3fa69386ccc5afebbf0'/>
<id>urn:sha1:2dcf2a2d7578d1e43ee7e3fa69386ccc5afebbf0</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Fix a possible NULL-byte truncation when outputting parameters in the logs</title>
<updated>2023-02-01T19:35:23Z</updated>
<author>
<name>jvoisin</name>
</author>
<published>2023-02-01T19:35:23Z</published>
<link rel='alternate' type='text/html' href='http://git.dustri.org/snuffleupagus/commit/?id=f4d3c01bd196400548f5712223171007563ab834'/>
<id>urn:sha1:f4d3c01bd196400548f5712223171007563ab834</id>
<content type='text'>
</content>
</entry>
</feed>
