Home

Description

When sed is invoked with both -i (in-place edit) and --follow-symlinks, the function open_next_file() performs two separate, non-atomic filesystem operations on the same path: 1. resolves symlink to its target and stores the resolved path for determining when output is written, 2. opens the original symlink path (not the resolved one) to read the file. Between these two calls there is a race window. If an attacker atomically replaces the symlink with a different target during that window, sed will: read content from the new (attacker-chosen) symlink target and write the processed result to the path recorded in step 1. This can lead to arbitrary file overwrite with attacker-controlled content in the context of the sed process. This issue was fixed in version 4.10.

PUBLISHED Reserved 2026-04-09 | Published 2026-04-20 | Updated 2026-05-13 | Assigner CERT-PL




LOW: 2.1CVSS:4.0/AV:L/AC:L/AT:P/PR:N/UI:N/VC:N/VI:L/VA:N/SC:N/SI:N/SA:N

Problem types

CWE-367 Time-of-check Time-of-use (TOCTOU) Race Condition

Product status

Default status
unaffected

4.1e (custom) before 4.10
affected

Credits

Michał Majchrowicz (AFINE Team) finder

Marcin Wyczechowski (AFINE Team) finder

References

www.openwall.com/lists/oss-security/2026/05/13/1

www.gnu.org/software/sed/ product

cert.pl/en/posts/2026/04/CVE-2026-5958 third-party-advisory

cve.org (CVE-2026-5958)

nvd.nist.gov (CVE-2026-5958)

Download JSON