Read the docs
TI-2026-67031 Aliases GHSA-fqf6-gxhh-2xhw

uutils coreutils: cp/install/mv/ln --suffix alone does not enable backup mode (silent data loss vs GNU)

Priority LOW 38CWE-440Published · Updated

Key facts

Attack vector
—
Privileges required
—
User interaction
—
Attack complexity
—
Impact type
Security bypass
Confidentiality · integrity · availability
—
Fix status
Fixed

No CVSS vector from any source. Fix status from GitHub. Impact type from CWE-693.

Summary

`determine_backup_mode` in `src/uucore/src/lib/features/backup_control.rs` only checks `--backup`/`-b` and returns `BackupMode::None` when only `--suffix` is given. GNU enables backup mode when `--suffix` is used alone (defaulting to existing/numbered, or `$VERSION_CONTROL`). Affects `cp`, `install`, `mv`, `ln` which share this code. ``` # uutils: no backup created $ coreutils cp --suffix=.bak src dest # dest.bak NOT created # GNU: dest.bak created $ cp --suffix=.bak src dest ``` **Impact:** users/scripts relying on `--suffix` to back up a file before overwrite get silent data loss; breaks GNU compatibility across four utilities. Recommendation: enable backup mode when `--suffix` is present. _Note: this is primarily a GNU-compatibility/data-safety divergence rather than a classic exploitable vulnerability — review whether it warrants a CVE._ **Remediation:** Acknowledged by Canonical; fixed in PR #9741 (`uucore: use --suffix to enable backup mode`), commit `939ab037a`, merged 2025-12-21. `determine_backup_mode` now has a `--suffix`-alone branch that resolves the mode from `$VERSION_CONTROL` (defaulting to `existing`). Released in **uucore 0.6.0** and later (vulnerable: `< 0.6.0`). Regression tests added in the same file: `test_backup_mode_suffix_without_backup_option` and `test_backup_mode_suffix_without_backup_option_with_env_var`. --- _Reported by Zellic in the *uutils coreutils Program Security Assessment* (prepared for Canonical, Jan 20 2026), audited commit `3a07ffc5a9bd4c283e75afa548ba1f1957bad242`. Finding 3.7. Credit: Zellic._

Why it matters now

Fix Fixed uucore (crates.io): 0.6.0

SSVC decision points

Not available: CISA has not published SSVC decision points for this record.

Affected products

VendorProductAffected versionsFixed inStatusSource
—uucore (crates.io)before 0.6.00.6.0Patch availableGHSA-fqf6-gxhh-2xhw
  • uucore (crates.io) Vendor— Affected before 0.6.0 Fixed in 0.6.0 Patch available GHSA-fqf6-gxhh-2xhw

Remediation

  • Fix · GHSA-fqf6-gxhh-2xhw uucore (crates.io) Fixed in 0.6.0 Advisory →

Timeline

  1. 2026-10-03 Threatist record created from GHSA-fqf6-gxhh-2xhw

References

Sources

This product uses the NVD API but is not endorsed or certified by the NVD. Sources and licences