rauc/rauc

RAUC Update Framework Releases v1.15 to v1.15.2: New Features, Bug Fixes, and Security Patch for Large Bundle Handling

rauc

The RAUC project, a robust update client for embedded Linux devices, has issued three consecutive releases addressing new features, bug fixes, and a critical security vulnerability. Version 1.15 introduced enhancements such as explicit image type declarations and improved boot slot detection. Subsequent patch releases v1.15.1 and v1.15.2 focused on compatibility improvements and a security fix for an integer overflow affecting large 'plain' format bundles.

About RAUC

RAUC (Robust Auto-Update Controller) is an update client designed for embedded Linux devices. It manages the installation of software updates reliably and securely, supporting various bundle formats and update strategies. RAUC is widely used in embedded systems where robust and atomic update mechanisms are critical. The project is actively maintained and regularly enhanced to address evolving needs in embedded software deployment.

Highlights of RAUC v1.15

Released in November 2025, RAUC version 1.15 introduced several enhancements and bug fixes aimed at improving update flexibility, security, and system compatibility:

Enhancements

  • Explicit Image Type Declaration: Users can now specify an optional type= attribute for images in the bundle manifest. This is particularly useful when file extensions are not recognized by RAUC, allowing precise control over image handling.

  • New emptyfs Image Type: This new image type provides an alternative to empty tar files when installing into ext4 slots. It enables creation of a customizable empty filesystem, which can be further tailored using post-install hooks.

  • Improved HTTP Streaming Headers: The send-headers option now applies to rauc info and InspectBundle() commands, including custom HTTP headers configured via the system-info handler.

  • Boot Slot Detection Refinements: Booted slot detection on UEFI systems was improved by reading the BootCurrent variable, and the boot slot detection logic was refactored to prioritize explicit bootloader backend information over kernel command line parameters.

  • Signature Verification Control: A new configuration option, allowed-signer-cns, restricts accepted certificates during bundle signature verification by specifying allowed Common Names.

  • Support for Non-Hidden Directories in Bundles: Bundles can now include non-hidden directories, expanding the flexibility of bundle content organization.

  • Adaptive Update Progress Reporting: Progress updates are now provided during block-hash-index generation for adaptive updates.

  • Size Limit for boot-emmc Slot Type: This feature helps preserve unrelated data on eMMC boot partitions by enforcing size limits and verifying image fit before writing.

Bug Fixes and Testing

The release also addressed issues such as race conditions with udev during NBD setup, memory leaks, error handling improvements for modified bundles, and compatibility fixes for various tools and libraries. Testing coverage was expanded to include Debian bookworm and additional stable distributions, with improvements in test logging and compatibility.

Code and Documentation

The codebase saw refactoring for clarity and robustness, including improved logging, configuration parsing, and service startup. Documentation was enhanced with updated examples, corrected terminology, and conversion of manual pages to Sphinx-based HTML format.

RAUC v1.15.1: Bug Fixes and Testing Improvements

Published in January 2026, this patch release focused on:

  • Fixing compatibility with the new dm-verity output introduced in Linux kernel v6.19-rc1.
  • Handling images lacking both type and filename attributes explicitly.
  • Ignoring SIGINT (Ctrl+C) during installation outside the service context to ensure proper cleanup of mounts and device-mapper devices.
  • Simplifying interactive testing of encrypted bundles by configuring encryption keys and certificates for QEMU-based testing.
  • Improving handling of keyring options and updating documentation to reflect accurate image type descriptions and terminology.

RAUC v1.15.2: Security Fix for Large Plain Bundles

The latest release, v1.15.2, addresses a critical security vulnerability (CVE-2026-34155) involving an integer overflow in the handling of 'plain' format bundles exceeding 2 GiB in payload size. This flaw could result in signatures covering only the initial bytes of the payload, potentially compromising update integrity.

To mitigate this, RAUC now rejects 'plain' format bundles with payloads larger than 2 GiB during both signing and verification processes. This fix enhances the security posture of RAUC in scenarios involving large update bundles.

Conclusion

These releases demonstrate RAUC's ongoing commitment to improving update reliability, security, and flexibility for embedded Linux systems. The introduction of explicit image types, enhanced boot slot detection, and robust signature verification controls in v1.15, followed by compatibility fixes and a critical security patch in subsequent versions, provide users with a more secure and adaptable update framework.

Sources

Sources