• Welcome to WebsiteBaker Community Forum. Please log in or sign up.
Welcome, Guest
News
Support WebsiteBaker
Your donations will help to:
PayPal
  • Pay for our dedicated server
  • Pay for domain registration
  • and much more!
You can donate by clicking on the button below.

WebsiteBaker 2.13.10 Security Update - developer issues

Started by FerRik, August 28, 2026, 01:43:39 PM  ( Read 340 times )

FerRik

Updating security is always a good thing.
But sometimes it's hard to understand why certain decisions were made....

Why is it no longer possible to use the `mkdir` command in `install.php` and `update.php`?

Why can't the `$auditDenied()` variable be called anymore?

We've created several modules and templates that were supposed to be released in the coming months. Unfortunately, that's on hold for now.

    dbs

    Hi, we introduced these restrictions because installation and update scripts run with high privileges. A compromised or malicious module could otherwise modify files outside its own directory, execute dangerous functions, or install a backdoor. CodeGuard therefore uses conservative rules to reduce the attack surface and protect existing WebsiteBaker installations.

    For modules and templates, mkdir() is blocked in install.php and update.php because CodeGuard cannot reliably prove that dynamically built paths remain inside the module or template directory. Path traversal, manipulated input, or symlinks could otherwise allow writes elsewhere.
    The recommended alternatives are:

         
    • Include required fixed directories directly in the module/template ZIP.
    • Use fixed, pre-created subdirectories.
    • Create dynamic subdirectories later during normal module operation, using a strictly controlled base path.
    $auditDenied() is a variable function call. Because the variable can contain any function name, it could potentially execute dangerous functions.
    Use a direct call instead: auditDenied()
    For several permitted actions, use explicit if/switch branches rather than dynamic callbacks.

      hgs

      Welcome to the WebsiteBaker family


      We're working hard on further developing WebsiteBaker—you can get a sneak peek here—but security has always been a core part of WebsiteBaker.


      And we've already kicked off a new development project; you can read about it here.


      Perhaps you could tell us a little about the planned modules—feel free to send an email to board@WebsiteBaker.org.
        LG Harald

        "Fange nie an, aufzuhören - höre nie auf, anzufangen." Marcus Tullius Cicero (106-43 v.Chr.)

        "Never begin to stop - never stop beginning." Marcus Tullius Cicero (106-43 BC)

        \n\n