title: Path Traversal in ubi_reader
description:
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.
This issue affects ubi-reader before 0.8.5.
problem types: CWE-22 Improper Limitation of a Pathname to a Restricted Directory ('Path Traversal')
affected:
{
collectionURL: https://pypi.org/project/ubi-reader/
defaultStatus: unaffected
modules: ubireader_extract_files
packageName: ubi-reader
product: ubi_reader
repo: https://github.com/jrspruitt/ubi_reader
vendor:  jrspruitt
versions:
lessThan: 0.8.5, status: affected, version: 0, versionType: 0.8.4
}
metrics:
cvssV3_1: [
attackComplexity: LOW
attackVector: LOCAL
availabilityImpact: NONE
baseScore: 5.5
baseSeverity: MEDIUM
confidentialityImpact: NONE
integrityImpact: HIGH
privilegesRequired: NONE
scope: UNCHANGED
userInteraction: REQUIRED
vectorString: CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:N/I:H/A:N
version: 3.1
]
format: CVSS
scenarios: GENERAL
exploits: Proof-of-concept.
solutions: Upgrade to version 0.8.5