« Volver al listado

CVE-2023-0591

Estado: ModificadaMedia (5.5)—

ubireader_extract_files is vulnerable to path traversal when run against specifically crafted UBIFS files, allowing the attacker to overwrite files outside of the extraction directory (provided the process has write access to that file or directory).

This is due to the fact that a node name (dent_node.name) is considered trusted and joined to the extraction directory path during processing, then the node content is written to that joined path. By crafting a malicious UBIFS file with node names holding path traversal payloads (e.g. ../../tmp/outside.txt), it's possible to force ubi_reader to write outside of the extraction directory.

Leer descripción completaMostrar menos

This issue affects ubi-reader before 0.8.5.

CVSS

Probabilidad de explotación (EPSS)

EPSS (Exploit Prediction Scoring System, de FIRST) estima la probabilidad de que una vulnerabilidad sea explotada en 30 días. Complementa a CVSS (impacto) y a CISA KEV (explotación confirmada).

Tecnologías afectadas (1)

CWE

Referencias

JSON original (NVD)

Mostrar
{
  "id": "CVE-2023-0591",
  "cveTags": [],
  "metrics": {
    "ssvcV203": [
      {
        "source": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
        "ssvcData": {
          "id": "CVE-2023-0591",
          "role": "CISA Coordinator",
          "options": [
            {
              "exploitation": "poc"
            },
            {
              "automatable": "no"
            },
            {
              "technicalImpact": "partial"
            }
          ],
          "version": "2.0.3",
          "timestamp": "2025-03-26T20:38:06.296581Z"
        }
      }
    ],
    "cvssMetricV31": [
      {
        "type": "Secondary",
        "source": "research@onekey.com",
        "cvssData": {
          "scope": "UNCHANGED",
          "version": "3.1",
          "baseScore": 5.5,
          "attackVector": "LOCAL",
          "baseSeverity": "MEDIUM",
          "vectorString": "CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:N/I:H/A:N",
          "integrityImpact": "HIGH",
          "userInteraction": "REQUIRED",
          "attackComplexity": "LOW",
          "availabilityImpact": "NONE",
          "privilegesRequired": "NONE",
          "confidentialityImpact": "NONE"
        },
        "impactScore": 3.6,
        "exploitabilityScore": 1.8
      },
      {
        "type": "Primary",
        "source": "nvd@nist.gov",
        "cvssData": {
          "scope": "UNCHANGED",
          "version": "3.1",
          "baseScore": 5.5,
          "attackVector": "LOCAL",
          "baseSeverity": "MEDIUM",
          "vectorString": "CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:N/I:H/A:N",
          "integrityImpact": "HIGH",
          "userInteraction": "REQUIRED",
          "attackComplexity": "LOW",
          "availabilityImpact": "NONE",
          "privilegesRequired": "NONE",
          "confidentialityImpact": "NONE"
        },
        "impactScore": 3.6,
        "exploitabilityScore": 1.8
      }
    ]
  },
  "affected": [
    {
      "source": "research@onekey.com",
      "affectedData": [
        {
          "repo": "https://github.com/jrspruitt/ubi_reader",
          "vendor": " jrspruitt",
          "modules": [
            "ubireader_extract_files"
          ],
          "product": "ubi_reader",
          "versions": [
            {
              "status": "affected",
              "version": "0",
              "lessThan": "0.8.5",
              "versionType": "0.8.4"
            }
          ],
          "packageName": "ubi-reader",
          "collectionURL": "https://pypi.org/project/ubi-reader/",
          "defaultStatus": "unaffected"
        }
      ]
    }
  ],
  "published": "2023-01-31T10:15:10.253",
  "references": [
    {
      "url": "https://github.com/jrspruitt/ubi_reader/pull/57",
      "tags": [
        "Patch",
        "Third Party Advisory"
      ],
      "source": "research@onekey.com"
    },
    {
      "url": "https://onekey.com/blog/security-advisory-remote-command-execution-in-binwalk/",
      "tags": [
        "Exploit",
        "Third Party Advisory"
      ],
      "source": "research@onekey.com"
    },
    {
      "url": "https://github.com/jrspruitt/ubi_reader/pull/57",
      "tags": [
        "Patch",
        "Third Party Advisory"
      ],
      "source": "af854a3a-2127-422b-91ae-364da2661108"
    },
    {
      "url": "https://onekey.com/blog/security-advisory-remote-command-execution-in-binwalk/",
      "tags": [
        "Exploit",
        "Third Party Advisory"
      ],
      "source": "af854a3a-2127-422b-91ae-364da2661108"
    }
  ],
  "vulnStatus": "Modified",
  "weaknesses": [
    {
      "type": "Secondary",
      "source": "research@onekey.com",
      "description": [
        {
          "lang": "en",
          "value": "CWE-22"
        }
      ]
    },
    {
      "type": "Primary",
      "source": "nvd@nist.gov",
      "description": [
        {
          "lang": "en",
          "value": "CWE-22"
        }
      ]
    }
  ],
  "descriptions": [
    {
      "lang": "en",
      "value": "\nubireader_extract_files is vulnerable to path traversal when run against specifically crafted UBIFS files, allowing the attacker to overwrite files outside of the extraction directory (provided the process has write access to that file or directory).\n\nThis is due to the fact that a node name (dent_node.name) is considered trusted and joined to the extraction directory path during processing, then the node content is written to that joined path. By crafting a malicious UBIFS file with node names holding path traversal payloads (e.g. ../../tmp/outside.txt), it's possible to force ubi_reader to write outside of the extraction directory.\n\n\n\nThis issue affects ubi-reader before 0.8.5.\n\n"
    },
    {
      "lang": "es",
      "value": "ubireader_extract_files es vulnerable a path traversal cuando se ejecuta contra archivos UBIFS específicamente manipulados, lo que permite al atacante sobrescribir archivos fuera del directorio de extracción (siempre que el proceso tenga acceso de escritura a ese archivo o directorio). Esto se debe al hecho de que un nombre de nodo (dent_node.name) se considera confiable y se une a la ruta del directorio de extracción durante el procesamiento; luego, el contenido del nodo se escribe en esa ruta unida. Al crear un archivo UBIFS malicioso con nombres de nodos que contienen payloads de path traversal (por ejemplo, ../../tmp/outside.txt), es posible forzar a ubi_reader a escribir fuera del directorio de extracción. Este problema afecta a ubi-reader antes de 0.8.5.x"
    }
  ],
  "lastModified": "2026-06-17T05:25:53.177",
  "configurations": [
    {
      "nodes": [
        {
          "negate": false,
          "cpeMatch": [
            {
              "criteria": "cpe:2.3:a:ubi_reader_project:ubi_reader:*:*:*:*:*:*:*:*",
              "vulnerable": true,
              "matchCriteriaId": "44B81021-E665-42B2-A24A-74E646BCE470",
              "versionEndExcluding": "0.8.5"
            }
          ],
          "operator": "OR"
        }
      ]
    }
  ],
  "sourceIdentifier": "research@onekey.com"
}