Home

Description

A logic error in the expr utility of uutils coreutils causes the program to evaluate parenthesized subexpressions during the parsing phase rather than at the execution phase. This implementation flaw prevents the utility from performing proper short-circuiting for logical OR (|) and AND (&) operations. As a result, arithmetic errors (such as division by zero) occurring within "dead" branches, branches that should be ignored due to short-circuiting, are raised as fatal errors. This divergence from GNU expr behavior can cause guarded expressions within shell scripts to fail with hard errors instead of returning expected boolean results, leading to premature script termination and breaking GNU-compatible shell control flow.

PUBLISHED Reserved 2026-04-02 | Published 2026-04-22 | Updated 2026-04-22 | Assigner canonical




LOW: 3.3CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:L

Problem types

CWE-768: Incorrect Short Circuit Evaluation

Product status

Default status
unaffected

Any version before 0.8.0
affected

Credits

Zellic finder

References

github.com/uutils/coreutils/pull/11395 issue-tracking patch

github.com/uutils/coreutils/releases/tag/0.8.0 vendor-advisory

cve.org (CVE-2026-35378)

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

Download JSON