← Back to CVE Explorer

CVE-2026-35378

Full vulnerability record from the local CVENow database.

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.

Severity
LOW
CVSS score
3.3 (v3.1)
Vulnerability status
Analyzed
Source identifier
Published
2026-04-22 17:16:42.730000
Last modified
2026-10-26 22:10:00.163000
View original CVE JSON
{
  "id": "CVE-2026-35378",
  "sourceIdentifier": "[email protected]",
  "published": "2026-04-22T17:16:42.730",
  "lastModified": "2026-10-26T22:10:00.163",
  "vulnStatus": "Analyzed",
  "cveTags": [],
  "descriptions": [
    {
      "lang": "en",
      "value": "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."
    },
    {
      "lang": "es",
      "value": "Un error de lógica en la utilidad expr de uutils coreutils hace que el programa evalúe las subexpresiones entre paréntesis durante la fase de análisis en lugar de en la fase de ejecución. Este fallo de implementación impide que la utilidad realice un cortocircuito adecuado para las operaciones lógicas OR (|) y AND (&). Como resultado, los errores aritméticos (como la división por cero) que ocurren dentro de ramas ’muertas’, ramas que deberían ignorarse debido al cortocircuito, se elevan como errores fatales. Esta divergencia del comportamiento de GNU expr puede hacer que las expresiones protegidas dentro de los scripts de shell fallen con errores graves en lugar de devolver los resultados booleanos esperados, lo que lleva a la terminación prematura del script y a la interrupción del flujo de control de shell compatible con GNU."
    }
  ],
  "affected": [
    {
      "source": "[email protected]",
      "affectedData": [
        {
          "vendor": "Uutils",
          "product": "coreutils",
          "defaultStatus": "unaffected",
          "collectionURL": "https://github.com/uutils",
          "packageName": "coreutils",
          "platforms": [
            "Linux",
            "Unix",
            "macOS"
          ],
          "repo": "https://github.com/uutils/coreutils",
          "versions": [
            {
              "version": "0",
              "lessThan": "0.8.0",
              "versionType": "semver",
              "status": "affected"
            }
          ]
        }
      ]
    }
  ],
  "metrics": {
    "cvssMetricV31": [
      {
        "source": "[email protected]",
        "type": "Secondary",
        "cvssData": {
          "version": "3.1",
          "vectorString": "CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:L",
          "baseScore": 3.3,
          "baseSeverity": "LOW",
          "attackVector": "LOCAL",
          "attackComplexity": "LOW",
          "privilegesRequired": "LOW",
          "userInteraction": "NONE",
          "scope": "UNCHANGED",
          "confidentialityImpact": "NONE",
          "integrityImpact": "NONE",
          "availabilityImpact": "LOW"
        },
        "exploitabilityScore": 1.8,
        "impactScore": 1.4
      }
    ],
    "ssvcV203": [
      {
        "source": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
        "ssvcData": {
          "timestamp": "2026-04-22T16:59:40.449798Z",
          "id": "CVE-2026-35378",
          "options": [
            {
              "exploitation": "poc"
            },
            {
              "automatable": "no"
            },
            {
              "technicalImpact": "partial"
            }
          ],
          "role": "CISA Coordinator",
          "version": "2.0.3"
        }
      }
    ]
  },
  "weaknesses": [
    {
      "source": "[email protected]",
      "type": "Secondary",
      "description": [
        {
          "lang": "en",
          "value": "CWE-768"
        }
      ]
    }
  ],
  "configurations": [
    {
      "nodes": [
        {
          "operator": "OR",
          "negate": false,
          "cpeMatch": [
            {
              "vulnerable": true,
              "criteria": "cpe:2.3:a:uutils:coreutils:*:*:*:*:*:rust:*:*",
              "versionEndExcluding": "0.8.0",
              "matchCriteriaId": "2365DBBD-6F10-4651-8DA4-08AE79E14423"
            }
          ]
        }
      ]
    }
  ],
  "references": [
    {
      "url": "https://github.com/uutils/coreutils/pull/11395",
      "source": "[email protected]",
      "tags": [
        "Exploit",
        "Issue Tracking",
        "Patch"
      ]
    },
    {
      "url": "https://github.com/uutils/coreutils/releases/tag/0.8.0",
      "source": "[email protected]",
      "tags": [
        "Release Notes"
      ]
    }
  ]
}