Skip to content

1.5.10.2253

Latest

Choose a tag to compare

@fog-workflows fog-workflows released this 11 Aug 11:59
9f3b5a8

Pull Requests

  • Keep FOS kernels signed for Secure Boot, and make enrolment a short visit by @darksidemilk in #961
  • Label FOG's directories and ship a policy module instead of a blanket boolean (dev-branch port) by @mastacontrola in #967
  • Give FOG its own SELinux type for /images and snapins (dev-branch port) by @mastacontrola in #969
  • Configure the local firewall instead of offering to switch it off (dev-branch port) by @mastacontrola in #971
  • Stop recommending permissive SELinux, and stop setting it under -y (dev-branch port) by @mastacontrola in #973
  • Add "Enroll Secure Boot Key" PXE menu item (dev-branch port) by @mastacontrola in #977
  • docs: working-1.6 first, then port to dev-branch (CLAUDE.md) by @darksidemilk in #974
  • Secure Boot: document the ipxe.efi fallback chain, bump fog-ipxe pin by @mastacontrola in #980
  • Fix doubled slash in the HTTP-to-HTTPS redirect (GH-978) by @mastacontrola in #982
  • Add --no-force-https so -S can be undone (GH-978) by @mastacontrola in #984
  • Point the Secure Boot DHCP classes at the snponly chain (dev-branch port) by @mastacontrola in #994
  • Pin iPXE to v2.0.0-fog.4 for the restored BIOS command set (1.5) by @mastacontrola in #997
  • Hide the Secure Boot enrolment menu item on legacy BIOS boots (1.5) by @mastacontrola in #999
  • Define FOG_BASE_DIR on 1.5.x, fixing HTTP 500 on kernel/init update by @mastacontrola in #1000
  • Gate the API on uType and stop building the lftp command in a shell (GHSA-2hqx-5ffg-w4c3) by @mastacontrola in #1001
  • Stop publishing autoexec.ipxe to the TFTP root, and pin iPXE v2.0.0-fog.5 by @mastacontrola in #1004
  • PKI: hang Web and Secure Boot CAs off the existing FOG Server CA (dev-branch port) by @darksidemilk in #1017
  • Fix silent Secure Boot/Web CA regeneration when only the CA key is offline by @darksidemilk in #1018
  • Stable Release PR For 1.5.10.2253 - 2026-08-11 by @fog-workflows[bot] in #1020

Full Changelog: 1.5.10.2149...1.5.10.2253


Commits

  • Version Sync: Increment version from 1.5.10.2149 to 1.5.10.2152 for Patches channel on dev-branch to match commit count since master (b1912aad1)
  • Availability probe honours FOG_FTP_PORT (bae85f5a6)
  • Stop deriving the Debian docroot from a test the install invalidates (923a74724)
  • fix(installer): emit every interface IP as a cert SAN (750f1da04)
  • fix(installer): config.class.php host constants take the primary IP (130938980)
  • Make a custom webroot actually work (ba41fae1c)
  • Install the FOG utilities to the fog path (d3a7079ef)
  • Make FOGBackup work, and stop the installer claiming empty backups (717a3c7e0)
  • Restrict the maintenance endpoints to same-machine requests (200a5072f)
  • Stop a second IP on the FOG interface breaking the apache vhost (b9a970a6f)
  • Deny maintenance/ to anything but the server itself (c6c6b705a)
  • Keep service logs across restarts and rotate them instead of deleting (1efe787bf)
  • Settle what $ipaddress means: one address, with $ipaddresses for the set (62626fcfd)
  • Write .fogsettings as soon as the database credentials exist (7c5450196)
  • Stop installer helper errors from being written into the DHCP config (ac0709e35)
  • fix(installer): survive a master database that offers no TLS (361bacf36)
  • fix(installer): stop rejecting a valid root environment on usr-merged distros (c7c262806)
  • perf(web): stop querying the database on every hook fire (e827fd1bd)
  • build(ipxe): stop overlaying upstream's build system, and pass NO_WERROR (cb9d8d9a2)
  • build(ipxe): pin the iPXE clone to a release tag (bd93ae8d5)
  • Consume iPXE from FOGProject/fog-ipxe instead of carrying it in git (182701dd6)
  • Publish autoexec.ipxe at the TFTP root as well, via a hard link (3c0b4ce37)
  • Stage the iPXE Secure Boot binaries at /tftpboot/secureboot (421918f3f)
  • Pin iPXE to v2.0.0-fog.2 (6fc1abb94)
  • Set the SELinux context on the TFTP root instead of disabling SELinux (2121873d9)
  • Keep FOS kernels signed for Secure Boot, and make enrolment a short visit (037af2be4)
  • Drop the staging half; keep signing, and accept a DER certificate (f62a592ec)
  • Derive the Secure Boot paths from FOG_BASE_DIR, not /opt/fog (d36f94637)
  • Label FOG's directories and ship a policy module instead of a blanket boolean (09efe7325)
  • Give FOG its own SELinux type for /images and snapins (358fec4c5)
  • Configure the local firewall instead of offering to switch it off (450826cb3)
  • Stop recommending permissive SELinux, and stop setting it under -y (33d1718f3)
  • Allocate multicast ports inside the window the installer firewalls (a678260f9)
  • Installer: batch the package state queries and the install transaction (fa46760f7)
  • Codify: new features land on working-1.6 first, then port here (3024875ba)
  • Secure Boot: generate the signing key by default, and show the page (5d23f2030)
  • Fix CLAUDE.md: previous commit accidentally stored base64, not text (e12a1c6bd)
  • Fix CLAUDE.md corruption from the base64 round-trip (2c867afba)
  • Add "Enroll Secure Boot Key" PXE menu item (08c98aecd)
  • Version Sync: Increment version from 1.5.10.2191 to 1.5.10.2198 for Patches channel on dev-branch to match commit count since master (35cd62652)
  • Secure Boot: document the ipxe.efi fallback chain, bump fog-ipxe pin (661b23cde)
  • Fix doubled slash in the HTTP-to-HTTPS redirect (GH-978) (2c119dc48)
  • Add --no-force-https so -S can be undone (GH-978) (8e259237e)
  • Version Sync: Increment version from 1.5.10.2198 to 1.5.10.2205 for Patches channel on dev-branch to match commit count since master (2c527624a)
  • Point the Secure Boot DHCP classes at the snponly chain (b58039f77)
  • Pin iPXE to v2.0.0-fog.4 for the restored BIOS command set (f890e8c96)
  • Version Sync: Increment version from 1.5.10.2205 to 1.5.10.2208 for Patches channel on dev-branch to match commit count since master (561bd3141)
  • Hide the Secure Boot enrolment menu item on legacy BIOS boots (c01a4d932)
  • Define FOG_BASE_DIR on 1.5.x, fixing HTTP 500 on kernel/init update (9c787673e)
  • Version Sync: Increment version from 1.5.10.2208 to 1.5.10.2213 for Patches channel on dev-branch to match commit count since master (263fd48f4)
  • Gate the API on uType and stop building the lftp command in a shell (3098e4423)
  • Version Sync: Increment version from 1.5.10.2213 to 1.5.10.2218 for Patches channel on dev-branch to match commit count since master (4b8a241fd)
  • Stop publishing autoexec.ipxe to the TFTP root, and remove it on upgrade (6746e88eb)
  • Pin iPXE to v2.0.0-fog.5 (413407991)
  • Give each kernel/initrd download its own temp file, and verify what arrives (bfb7df289)
  • Invoke the URL-request callback instead of calling a method that isn't there (3bd8cc0bf)
  • Run the php-fpm pool as $apacheuser, and re-own its session directory (96299ca4b)
  • Render the kernel/initrd update lists as a sortable table (dc77d6cb5)
  • Put the kernel/initrd table back inside its card (00bf29bb2)
  • Read the kernel/initrd version from the release body's own label (1a3237755)
  • Match 1.6's columns on the kernel/initrd table (127c3bd6b)
  • Group the kernel/initrd tables by date (9d60d5037)
  • Stop the group header's arrow from collapsing the date onto three lines (c7f90fe39)
  • Stop the Type cell reading "experimental experimental", and escape it (6eb3309b9)
  • Pin iPXE to v2.0.0-fog.6 (ebb4acb88)
  • Port the pre-commit tooling-visibility changes from working-1.6 (3caf96467)
  • Generated Files Sync: regenerate translations and PSR2 formatting on dev-branch (e4c87b257)
  • Emit translation files unwrapped, so gettext versions stop rewriting each other (83fcbcdcd)
  • Hang the Web and Secure Boot CAs off the existing FOG Server CA (bc94055b6)
  • Harden the Web CA key even when the leaf is ACME-managed (52de951bc)
  • Added more fields to be filled for CA and leaf CSRs and added better SAN automations (961a9f687)
  • add update-language.sh function for githook so git workflows can utilize the logic. (f5223eff9)
  • Merge branch 'dev-branch' of https://github.com/FOGProject/fogproject into dev-branch (8b934f86f)
  • fix pki paths (e9f59790d)
  • Make the pre-merge-commit hook actually run the pre-commit hook (cdc03cba3)
  • Further fixed pki folder structure, added flexible standard renewal timelines. (c1a148bdb)
  • Merge branch 'dev-branch' into devbranch-pki-additive (854b14a87)
  • Add better guards on not accidentally overwriting web cert (a19a91ab5)
  • Add net fetch of mok.der and clarify which private keys should be taken off the server if possible. (aa74b82d4)
  • Added sha1 thumbprint to web ui display of secure boot key as that's what is shown in the mok enrollment, kept the sha256 there too. (f6b0abe39)
  • Fix silent Secure Boot/Web CA regeneration when only the CA key is offline (90fa740e1)
  • Fix PKI installer progress line left without a terminator (873b15dc0)
  • Version Sync: Increment version from 1.5.10.2238 to 1.5.10.2252 for Patches channel on dev-branch to match commit count since master (8cfad0494)
  • Anchor the FOG CA in the FOG server's own system trust store (bffdf00a0)
  • Port --web-ca-cert/-key/-root to the 1.5 line (d4874616c)

Closed Issues Since Last Release

  • [Update Workflow] Phase 1: fog_git_path setting + bin/updatefog.sh (#1005)
  • Validate FOG under SELinux enforcing (NFS/FTP image storage), then stop defaulting to permissive (#964)
  • Installer never SELinux-labels /tftpboot, so PXE boot fails on any enforcing host — and the only SELinux handling offered is to disable it (#963)
  • Secure Boot: tracking the signing automation, the grub alternative, and a FOG vendor shim (#962)
  • Verify the Secure Boot chain on real hardware (shim to signed iPXE to signed FOS kernel) (#960)
  • Split iPXE into its own repository and consume it the way we already consume FOS (#959)
  • iPXE BIOS builds link no console driver, so a rebuilt undionly.kpxe shows nothing on real hardware (#958)
  • Update to iPXE 2.0, stop overlaying its build system, and decide on Secure Boot (#957)
  • listem()/complex() silently drop the requested ORDER BY, so API pagination returns arbitrary rows (#956)
  • iPXE HTTPS rebuild fails on binutils >= 2.41: assembler --fatal-warnings kills the build (#955)
  • Installer treats $ipaddress as a single address; a second IP on the FOG interface breaks the install (#954)
  • installer: Debian/Ubuntu docroot is chosen from a test that the install itself invalidates, producing two web trees (#953)
  • refactor(installer): variablize fogprogramdir through installer and derive PHP constants from it (#850)
  • Compilation ipxe certificate error (#761)
  • BUG: Generating SSL fails in Ubuntu 24.04 container with error message (#729)
  • The Scheduled Tasks feature is not functioning in version 1.6.0-beta.2167 (#707)
  • Storage Server - Failed Install with no error log (#685)
  • DHCP config fails during install (#667)
  • Installation script fails at "Creating SSL Certificate" if network interface has multiple addresses (#650)
  • fogsettings file not created in /opt/fog which is needed to know what the sql database information is in latest version 1.5.10 (#632)
  • Help with updating website (#583)
  • In order to facilitate offline installations, provide a way to list all packages that will be installed based on the current platform (#576)
  • isc-dhcp-server config not created / How to propperly upgrade from version 1.5.9 to 1.5.10 (#568)
  • PrinterManagement: create printer with FQDN (#560)
  • Make custom webroot work or remove from the installer (#529)
  • Change log file creation of FOG services (#497)
  • Script (web services) not launching with PHP8 in Archlinux( /Manjaro Linux) Install (#447)
  • Install FOGBackup to fog path (#314)

Security Advisories

  • Unconstrained Root CA Injection via FOG Client enables Enterprise-Wide MITM and Code-Signing Spoofing (GHSA-94p8-jg9j-99v4)
  • 086 Unauthenticated iPXE boot endpoint leaks host AES session key, authentication secret, and inventory metadata (GHSA-9f5j-q4h6-q43c)
  • 065 Root command injection in FOGMulticastManager via unsanitized values in proc_open() shell string (GHSA-2w3h-w42x-ff5g)
  • 064 GET-reachable object deletion via CSRF bypass in FOGPage::delete() (GHSA-33jc-q3wj-3h48)
  • 050 Unauthenticated AES key clearing in authorize() enables fleet-wide disruption of encrypted client communication (GHSA-5hgc-mxjr-77pc)
  • 035 Snapin upload filename . triggers destructive deletion of snapin storage contents on storage node (GHSA-jrqm-2f74-45vc)
  • 010 Plaintext Active Directory credentials exposed in unauthenticated iPXE boot script and logs (GHSA-f6r5-w2jw-6gg2)
  • 009 Snapin download endpoint IDOR allows any enrolled host to download all snapin binaries and corrupt task state (GHSA-h8r4-h54x-hg5g)
  • 070 Unauthenticated ipxe/schema management dispatch allows pre-auth state-changing actions (GHSA-qc8c-wh88-524g)
  • 067 Stored XSS in Hosts and Users report via unescaped usertracking.username (GHSA-4v2m-3542-qcc9)
  • 018 Path traversal in API-created file delete queue entries can delete files outside storage roots (GHSA-6qch-cjx9-4q5m)