← Back to CVE Explorer

CVE-2026-35354

Full vulnerability record from the local CVENow database.

Description

A Time-of-Check to Time-of-Use (TOCTOU) vulnerability exists in the mv utility of uutils coreutils during cross-device moves. The extended attribute (xattr) preservation logic uses multiple path-based system calls that perform fresh path-to-inode lookups for each operation. A local attacker with write access to the directory can exploit this race to swap files between calls, causing the destination file to receive an inconsistent mix of security xattrs, such as SELinux labels or file capabilities.

Severity
MEDIUM
CVSS score
4.7 (v3.1)
Vulnerability status
Analyzed
Source identifier
Published
2026-04-22 17:16:37.867000
Last modified
2026-10-26 21:10:00.170000
View original CVE JSON
{
  "id": "CVE-2026-35354",
  "sourceIdentifier": "[email protected]",
  "published": "2026-04-22T17:16:37.867",
  "lastModified": "2026-10-26T21:10:00.170",
  "vulnStatus": "Analyzed",
  "cveTags": [],
  "descriptions": [
    {
      "lang": "en",
      "value": "A Time-of-Check to Time-of-Use (TOCTOU) vulnerability exists in the mv utility of uutils coreutils during cross-device moves. The extended attribute (xattr) preservation logic uses multiple path-based system calls that perform fresh path-to-inode lookups for each operation. A local attacker with write access to the directory can exploit this race to swap files between calls, causing the destination file to receive an inconsistent mix of security xattrs, such as SELinux labels or file capabilities."
    },
    {
      "lang": "es",
      "value": "Una vulnerabilidad de tipo Time-of-Check to Time-of-Use (TOCTOU) existe en la utilidad mv de uutils coreutils durante movimientos entre dispositivos. La lógica de preservación de atributos extendidos (xattr) utiliza múltiples llamadas al sistema basadas en rutas que realizan nuevas búsquedas de ruta a inodo para cada operación. Un atacante local con acceso de escritura al directorio puede explotar esta condición de carrera para intercambiar archivos entre llamadas, causando que el archivo de destino reciba una mezcla inconsistente de xattrs de seguridad, como etiquetas SELinux o capacidades de archivo."
    }
  ],
  "affected": [
    {
      "source": "[email protected]",
      "affectedData": [
        {
          "vendor": "Uutils",
          "product": "coreutils",
          "defaultStatus": "affected",
          "collectionURL": "https://github.com/uutils",
          "packageName": "coreutils",
          "platforms": [
            "Linux",
            "Unix",
            "macOS"
          ],
          "repo": "https://github.com/uutils/coreutils"
        }
      ]
    }
  ],
  "metrics": {
    "cvssMetricV31": [
      {
        "source": "[email protected]",
        "type": "Secondary",
        "cvssData": {
          "version": "3.1",
          "vectorString": "CVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:U/C:N/I:H/A:N",
          "baseScore": 4.7,
          "baseSeverity": "MEDIUM",
          "attackVector": "LOCAL",
          "attackComplexity": "HIGH",
          "privilegesRequired": "LOW",
          "userInteraction": "NONE",
          "scope": "UNCHANGED",
          "confidentialityImpact": "NONE",
          "integrityImpact": "HIGH",
          "availabilityImpact": "NONE"
        },
        "exploitabilityScore": 1.0,
        "impactScore": 3.6
      }
    ],
    "ssvcV203": [
      {
        "source": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
        "ssvcData": {
          "timestamp": "2026-04-22T18:02:52.389426Z",
          "id": "CVE-2026-35354",
          "options": [
            {
              "exploitation": "none"
            },
            {
              "automatable": "no"
            },
            {
              "technicalImpact": "partial"
            }
          ],
          "role": "CISA Coordinator",
          "version": "2.0.3"
        }
      }
    ]
  },
  "weaknesses": [
    {
      "source": "[email protected]",
      "type": "Secondary",
      "description": [
        {
          "lang": "en",
          "value": "CWE-367"
        }
      ]
    }
  ],
  "configurations": [
    {
      "nodes": [
        {
          "operator": "OR",
          "negate": false,
          "cpeMatch": [
            {
              "vulnerable": true,
              "criteria": "cpe:2.3:a:uutils:coreutils:-:*:*:*:*:rust:*:*",
              "matchCriteriaId": "4A9AF9E4-E17C-48AD-8051-B49998618839"
            }
          ]
        }
      ]
    }
  ],
  "references": [
    {
      "url": "https://github.com/uutils/coreutils/issues/10014",
      "source": "[email protected]",
      "tags": [
        "Exploit",
        "Issue Tracking",
        "Vendor Advisory"
      ]
    },
    {
      "url": "https://github.com/uutils/coreutils/issues/10014",
      "source": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
      "tags": [
        "Exploit",
        "Issue Tracking",
        "Vendor Advisory"
      ]
    }
  ]
}