Merge tag 'v0.32.7'

Merge branch created for security release v0.32.7 back to master.

Contains fix for CVE-2026-62943, along with cherry-picked minor
bugfixes.
master
Axel Burri 2026-07-19 16:39:09 +02:00
commit a47e8b7e0e
7 changed files with 25 additions and 11 deletions

View File

@ -1,3 +1,17 @@
btrbk-0.32.7
* MIGRATION
- Update ssh_filter_btrbk.sh on remote hosts.
- All users using ssh_filter_btrbk.sh in their authorized_keys
configurations should upgrade immediately.
* This release fixes a critical security vulnerability
(CVE-2026-62943) in ssh_filter_btrbk.sh.
Specially crafted commands can bypass filter checks and execute
arbitrary commands. Applies to remote hosts using
ssh_filter_btrbk.sh in authorized_keys for command filtering.
Thanks to @machin0r for responsible disclosure.
* Minor bugfixes, spelling and documentation improvements.
btrbk-0.32.6
* Fix backup of unrelated (by parent_uuid) snapshots (close #339).

2
btrbk
View File

@ -2,7 +2,7 @@
#
# btrbk - Create snapshots and remote backups of btrfs subvolumes
#
# Copyright (C) 2014-2023 Axel Burri
# Copyright (C) 2014-2026 Axel Burri
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by

View File

@ -1,7 +1,7 @@
btrbk(1)
========
:date: 2023-03-25
:release-version: 0.32.6
:date: 2026-07-19
:release-version: 0.32.7
:man manual: Btrbk Manual
:man source: Btrbk {release-version}

View File

@ -1,7 +1,7 @@
btrbk.conf(5)
=============
:date: 2023-03-25
:release-version: 0.32.6
:date: 2026-07-19
:release-version: 0.32.7
:man manual: Btrbk Manual
:man source: Btrbk {release-version}

View File

@ -1,7 +1,7 @@
lsbtr(1)
========
:date: 2023-03-25
:release-version: 0.32.6
:date: 2026-07-19
:release-version: 0.32.7
:man manual: Btrbk Manual
:man source: Btrbk {release-version}

View File

@ -1,7 +1,7 @@
ssh_filter_btrbk(1)
===================
:date: 2023-03-25
:release-version: 0.32.6
:date: 2026-07-19
:release-version: 0.32.7
:man manual: Btrbk Manual
:man source: Btrbk {release-version}

View File

@ -96,12 +96,12 @@ reject_filtered_cmd()
# allow multiple paths (e.g. "btrfs subvolume snapshot <src> <dst>")
allow_cmd_match="(${allow_list})( ${option_match})*( ${path_match})+"
stream_in_match="(${decompress_match} \| )?(${mbuffer_match} \| )?"
stream_out_match="( \| ${mbuffer_match})?( \| ${compress_match}$)?"
stream_out_match="( \| ${mbuffer_match})?( \| ${compress_match})?"
# `grep`s `-q`-option is not used as it may cause an exit status of `0` even
# when an error occurred.
allow_stream_match="^${stream_in_match}${allow_cmd_match}${stream_out_match}"
allow_stream_match="^${stream_in_match}${allow_cmd_match}${stream_out_match}$"
if printf '%s' "${SSH_ORIGINAL_COMMAND}" | grep -E "${allow_stream_match}" >/dev/null 2>/dev/null; then
return 0
fi