Avoid walking the plank with expired modules

Picture of Chris Maj

Chris Maj

Painting of a pirate with a hat and a parrot and the meme text on top "are you ready, kids?" and on bottom "who sets their module_repo to https://mirror.freepbx.org ?"

Ahoy! 🚢

With the recent brisk pace of FreePBX security improvements 👀, we are seeing increased reports in our community forums and elsewhere from users who are encountering issues when modules won’t upgrade to the latest version or stop working in subtle ways because of out-of-date third-party pseudo-mirrors. Besides missing out on important security updates — which is one of the original reasons for module signing in FreePBX — some users might be unwittingly receiving shipments of unlicensed commercial software alongside open source FreePBX modules. 🦈

Arrrrgh! 🏴‍☠️

Can you imagine the situation if somebody started hosting Windows® code on their own servers for public download, but they labeled it Doors instead, without getting permission from Microsoft® ?

2 + 3 != 4 and

🪟 🪟 🪟 + 🐸 🐸🐸 !=🚪🚪🚪!!!

DON’T GET CAUGHT OUT ON THE PLANK…              

Besides the problematic security update issues outlined above, several forthcoming expanded commercial module license checks will (soon) show new Dashboard and other alerts — similar to these — and cause said commercial modules’ web interfaces to stop working after the grace period on systems for which valid licenses do not exist. 🛑

Fix your signatures permissions repository modules licenses security updates

🏝️ Users coming back to the official FreePBX module repository should:

  1. Pick the outage window. Times will vary.
  2. Notify the users.
  3. Take a backup.
  4. Apply operating system updates and reboot (if applicable.)
  5. Update any commercial license purchases via portal.sangoma.com (if applicable.) 🍍
  6. Then SSH in to the system(s) and execute the following commands (with slight variation depending on FreePBX version 16 or 17 — and if you are using older direct root or newer sudo-based access):
v16
$ fwconsole setting MODULE_REPO https://mirror.freepbx.org
$ fwconsole setting MODULEADMIN_SKIP_CACHE true
$ fwconsole ma -f downloadinstall framework
$ fwconsole ma refreshsignatures
$ fwconsole ma upgradeall
$ fwconsole chown
$ fwconsole reload
$ fwconsole restart
v17
$ sudo -u asterisk fwconsole setting MODULE_REPO https://mirror.freepbx.org
$ sudo -u asterisk fwconsole setting MODULEADMIN_SKIP_CACHE true
$ sudo -u asterisk fwconsole ma -f downloadinstall framework
$ sudo -u asterisk fwconsole ma refreshsignatures
$ sudo -u asterisk fwconsole ma upgradeall
$ sudo fwconsole chown
$ sudo -u asterisk fwconsole reload
$ sudo fwconsole restart

We also recommend removing any modules that were signed by invalid/unrecognized keys and reviewing your security posture if other tampering was observed. Keep another eye out for legacy third party modules that are no longer receiving regular updates from their maintainers, as these may continue to emit erroneous, conflicting and/or insecure dial plan configuration, cron jobs, database entries, etc., into your system until you remove them completely.

As FreePBX is an open source project, Sangoma as the chief steward endeavours to make changes to the code base that preserve backward API compatibility as much as possible in order to help minimize the impact for users downstream, but of course we are not in control of the priorities or resources of others. We recommend regularly reviewing the Changelogs in our GitHub for the module(s) that you are most interested in following.

😎 If these commands went smoothly, then please proceed to testing and notifying your users about all the cool new features in your FreePBX system! 🐸

Be a FreePBX steward with us🕯️

You can help Sangoma keep the light(house)s on for the FreePBX project by contributing in 6-7 different ways:

If you’re walking the plank,

with out-of-date mods,

that won’t update themselves,

despite all your prods,

then better be sure,

you go right to the source,

to the FreePBX mirror,

of course!

Share this Blogpost

Start the Discussion

Sign up for our Newsletter

Scroll to Top