Hi all,

We have a barebox Release for September, I just released
barebox-2026.09.0.

This release fixes vulnerabilities in the FIT image code. Most important
one is fixed with "FIT: resolve FIT images case-sensitively". This
vulnerability allowed to trick barebox into verifying one FIT image node
while booting another. The issue showed up in a security audit and is
fixed in this release, stable updates for v2026.04 and v2026.08 will
follow shortly.

Another issue fixed is that a hash node in a FIT image defines its
algorithm. We used to look only at the first hash node. If that says
crc32 then barebox would use that to verify the image data. This is
changed to iterate over the available algos from strong to weak and
see if one of them can verify the image data. crc32, md5 and sha1 are
explicitly no longer allowed. Note that this vulnerability requires
a signed FIT image with crc32 as hashing algorithm, something a properly
signed FIT image shouldn't have, but as crc32 used to be the
pre-secure-boot standard, it could well have leaked into images.

On the brighter side this release adds support for the Novarq Tactical
1000 board which is a switch built around the Microchip LAN9696. Also
the PXA support has been revived, with the PXA3xx as a fully supported
device tree platform.

For the usual flow of patches that went into this release see below.

Have Fun!
  Sascha

----------------------------------------------------------------
Ahmad Fatoum (35):
      Documentation: security: mention long term stable release
      clk: tolerate clocks registered without a name
      efi: payload: gracefully handle OOM in initrd allocation
      ARM: lds: place EFI runtime code and data in separate PT_LOAD segments
      efi: loader: map code-type page allocations executable
      ARM: allow CONFIG_ARM_MMU_PERMISSIONS together with EFI_RUNTIME
      test: py: efiloader: test EFI ResetSystem from booted Linux
      bootm: remove previously deprecated CONFIG_BOOTM_OPTEE
      commands: cpuinfo: unify command description
      virtio_blk: write back the block cache before resetting the device
      efi: loader: don't truncate the status in 
efi_init_runtime_variable_supported()
      efi: loader: fix sign of the error passed to ERR_PTR()
      efi: loader: disk: don't require block-size aligned I/O buffers
      efi: loader: select PRINTF_WCHAR
      boot: don't use the nfs:// mount path after freeing it
      net: dsa: don't index the port array one entry past its end
      libfile: advance offset in pread_full() on short reads
      libfile: allow fixup_path_case() to resolve directories
      fs: don't leak the parent path when openat() fails after the lookup
      ARM64: efi-header: declare the code section writable
      ARM64: lds: place relocation tables explicitly
      common: boards: qemu: read the command line from the cmdline fw_cfg key
      efi: loader: fix EFI_EXIT2 tracing an uninitialized status
      fs: efivarfs: initialize dummy data written on variable creation
      sandbox: actually build the assembly setjmp/longjmp/initjmp
      clk: k3: pll: initialize success flag in ti_pll_wait_for_lock
      ARM: i.MX9: initialize max_speed in imx9_cpu_speed_grade_hz
      defaultenv: don't pass environment path to zero env
      Makefile: fix security_%config configurator targets
      FIT: reject non-zero hashed-strings offset
      FIT: reject configuration properties that are not NUL-terminated
      crypto: ecdsa: validate the signature and digest lengths
      crypto: rsa: check the PKCS#1 v1.5 block header and minimum length
      Documentation: security: note FIT configuration choice being unsigned
      ARM64: clocksource: drop too early error message

Bruno Produit (Patch the Planet in collaboration with OpenAI) (1):
      FIT: resolve FIT images case-sensitively

Chali Anis (1):
      bcm283x: debug_ll: add RaspberryPi 4 PL011 UART support

Fabian Pflug (1):
      ARM: boards: i.MX93: use kernel dts

Michael Riesch (2):
      clang-format: do not allow short enums on a single line
      clang-format: align consecutive macros

Oleksij Rempel (8):
      ARM: introduce ARCH_MICROCHIP for ARM64 Microchip SoCs
      serial: atmel: add lan9696 (Microchip LAN969X) support
      clk: add Microchip LAN966X / LAN969X generic clock controller driver
      pinctrl: ocelot: port Microsemi/Microchip Ocelot pinctrl from Linux
      gpio: add Microchip SGPIO (serial GPIO) driver
      reset: add Microchip sparx5 / LAN969X / LAN966X switch reset driver
      spi: atmel-quadspi: add Microchip LAN966X / LAN969X support
      ARM: add Novarq Tactical 1000 board

Sascha Hauer (49):
      PBL: add pbl_sha256()
      ARM: pbl: add PBL support for crypto extensions
      input: gpio-keys: initialize the input value with the current gpioval
      net: designware: eqos: keep virtual RX buffer address around
      ARM: pxa: remove PXA25x and PXA27x support
      video: remove the PXA framebuffer driver
      ARM: cache: drive the XSC3 cache with the ARMv4 functions
      mci: pxamci: get the clock from the clk API
      pwm: pxa: get the clock from the clk API
      serial: pxa: get the clock from the clk API
      clk: pxa: add a device tree clock driver for PXA3xx
      mtd: nand: nand_mrvl_nfc: honour marvell,nand-keep-config
      mtd: nand: nand_mrvl_nfc: support the nand-controller bindings
      mtd: nand: mrvl_nfc: keep the ready latch across a STATUS command
      mtd: nand: mrvl_nfc: do not report a command timeout as an error
      mci: pxamci: probe from the device tree
      serial: pxa: add device tree support
      serial: pxa: provide the Linux console name
      gpio: pxa: add a driver and switch the architecture to GPIOLIB
      ARM: pxa: add DEBUG_LL support
      ARM: pxa: let the board select the SoC
      ARM: pxa: enable device tree support
      scripts: add pxa-image
      ARM: pxa: add a NAND first stage loader
      filetype: detect PXA3xx NTIM images
      ARM: pxa: add a barebox update handler for NAND
      clocksource: add a driver for the PXA OS timer and its watchdog
      ARM: pxa: move over to MULTIARCH
      ARM: pxa: reset straight away and without complaining
      ARM: pxa: add Raumfeld Speaker board support
      ARM: multi_v5_v6_defconfig: enable PXA support
      Release v2026.08.0: Move migration-master to release path
      migration guide: Create new migration guide for next release
      Merge branch 'for-next/efi'
      Merge branch 'for-next/imx'
      Merge branch 'for-next/microchip'
      Merge branch 'for-next/misc'
      Merge branch 'for-next/pbl-clocksource'
      Merge branch 'for-next/pbl-sha'
      Merge branch 'for-next/pxa'
      Merge branch 'for-next/xhci'
      Documentation: Officially accept GitHub pull requests
      FIT: Do not accept insecure hashing algos for signed images
      Merge remote-tracking branch 'github-ghsa-jhvm-7xq8-rvgm/advisory-fix-2'
      Merge remote-tracking branch 'github-ghsa-jhvm-7xq8-rvgm/advisory-fix-1'
      Merge remote-tracking branch 'github-ghsa-jhvm-7xq8-rvgm/advisory-fix-4'
      Merge remote-tracking branch 'github-ghsa-jhvm-7xq8-rvgm/advisory-fix-3'
      ci: pytest: test against Debian 13.7.0 image
      Release v2026.09.0

Stefan Kerkmann (6):
      RISC-V: setup_c: avoid clearing BSS twice
      ARM/ARM64/RISC-V: pbl: add constructor support
      clocksource: allow re-init for same clock
      drivers: arm_architected_timer: refactor for pbl compatibility
      ARM64: enable PBL_CLOCKSOURCE compatibility
      linux/iopoll: enable polled timeouts for PBL_CLOCKSOURCE

Stephano Cetola (7):
      usb: xhci: tolerate COMP_CTX_STATE in abort_td's final completion check
      usb: xhci: reset_ep: wait for real completion, not the caller's timeout
      usb: xhci: reset_ep: fix misaligned pointer in Set TR Dequeue Pointer
      usb: xhci: xhci_bulk_tx: re-fetch ep_ctx after resetting a halted endpoint
      usb: xhci: wait a real interval for interrupt endpoint transfers
      ARM: mmu64: fix arch_remap_range permission-strip order
      spi: rockchip: initialize bus_num to -1

Thomas Bonnefille (1):
      sandbox: enable keytoc in hosttools_defconfig

Ulrich Ölmann (4):
      security: Kconfig.policy: fix typos
      commands: Kconfig: fix typo
      common: Sconfig: fix help text of BOOT_UNSIGNED_IMAGES
      common: Kconfig.debug: fix typos

[email protected] (2):
      partitions: efi: reject partitions with negative size
      partitions: efi: reject partitions with negative size

zhengxiaojun (1):
      net: designware_eqs: set upper 32bit address for DMA descriptors to 
support 64-bit addressing

--
Pengutronix e.K.                           |                             |
Steuerwalder Str. 21                       | http://www.pengutronix.de/  |
31137 Hildesheim, Germany                  | Phone: +49-5121-206917-0    |
Amtsgericht Hildesheim, HRA 2686           | Fax:   +49-5121-206917-5555 |


Reply via email to