LiveActive security incident?Get immediate response
CVE Record

CVE-2020-26312: GHSL-2020-254: Arbitrary file read and/or write in dotmesh

Dotmesh is a git-like command-line interface for capturing, organizing and sharing application states. In versions 0.8.1 and prior, the unsafe handling of symbolic links in an unpacking routine may enable attackers to read and/or write to arbitrary locations outside the designated target folder. The routine `untarFile` attempts to guard against creating symbolic links that point outside the directory a tar archive is extracted to. However, a malicious tarball first linking `subdir/parent` to `..` (allowed, because `subdir/..` falls within the archive root) and then linking `subdir/parent/escapes` to `..` results in a symbolic link pointing to the tarball’s parent directory, contrary to the routine’s goals. This issue may lead to arbitrary file write (with same permissions as the program running the unpack operation) if the attacker can control the archive file. Additionally, if the attacker has read access to the unpacked files, they may be able to read arbitrary system files the parent process has permissions to read. As of time of publication, no patch for this issue is available.

HighCVSS 8.1Not KEV-listedUpdated
Glexia's TakeAutomated analysishigh

Security readout for executives and security teams

Plain-English summary

Dotmesh can mishandle symlinks while unpacking archives. If an attacker can supply the archive, Dotmesh may read or write files outside the intended folder using the Dotmesh process permissions. This can expose sensitive files or alter system/application files.

Executive priority

Treat this as high priority for any active Dotmesh environment that handles external or semi-trusted archives. If Dotmesh is not deployed, urgency is low; if deployed in automation or shared environments, reduce exposure quickly.

Technical view

CVE-2020-26312 affects dotmesh versions 0.8.1 and prior. The `untarFile` extraction guard can be bypassed through chained symlinks, allowing archive entries to escape the target directory. Impact is arbitrary file read and/or write with CVSS 8.1. The source says no patch was available at publication.

Likely exposure

Exposure is most likely where Dotmesh imports, restores, or unpacks archives supplied by users, tenants, automation, or less-trusted systems. Systems running Dotmesh with broad filesystem permissions face greater business risk.

Exploitation context

The provided sources do not show active exploitation, and KEV is false. Exploitation requires control over an archive processed by Dotmesh and depends on the filesystem permissions of the process performing extraction.

Researcher notes

The core issue is symlink traversal during tar extraction, similar to archive escape flaws. The affected routine attempted path containment but allowed chained links that resolve outside the archive root. Current exploit-in-the-wild evidence is not provided.

Mitigation direction

  • Inventory Dotmesh deployments and versions, especially 0.8.1 and prior.
  • Do not process untrusted Dotmesh archives until vendor guidance is confirmed.
  • Run archive extraction with least-privileged accounts and filesystem isolation.
  • Monitor the GitHub Security Lab advisory and Dotmesh repository for fixes.
  • Consider retiring or replacing unsupported Dotmesh deployments if no patch exists.

Validation and detection

  • Identify workflows that import, restore, or unpack Dotmesh archive content.
  • Confirm whether archive input can be influenced by users or external systems.
  • Review Dotmesh process permissions on exposed hosts.
  • Check for filesystem writes outside expected extraction paths during archive operations.
  • Verify whether a vendor patch or documented mitigation has since been adopted.
Prepared
Confidence
medium
Sources
4

Generated from the cited source records. This long-tail analysis has not been individually reviewed by a named human.

Potential ATT&CK relevance

Conservative CVE-to-ATT&CK context

These mappings and lookup hints may be relevant to the vulnerability behavior, CWE, affected product, or exposure path. Glexia-inferred context is not an official MITRE, ATT&CK, CWE, or CVE Program mapping.

ATT&CK lookup starting points

Use these exact CWE pages and searches to review the Glexia ATT&CK library from this CVE's weakness and description context.

cwe · low confidence lookup

CWE-125: Exact CWE lookup

Use the exact CWE identifier as the starting point before reviewing related ATT&CK behavior. Open the exact CWE lookup page first, then review the ATT&CK searches from that MITRE weakness context. This is a Glexia lookup hint, not an official ATT&CK mapping.

Open ATT&CK lookup
cwe · low confidence lookup

CWE-787: Exact CWE lookup

Use the exact CWE identifier as the starting point before reviewing related ATT&CK behavior. Open the exact CWE lookup page first, then review the ATT&CK searches from that MITRE weakness context. This is a Glexia lookup hint, not an official ATT&CK mapping.

Open ATT&CK lookup
description · low confidence lookup

File access behavior lookup

The CVE wording references file access or upload behavior, so file telemetry and web shell review may help. This is a Glexia inferred lookup path, not an official MITRE, ATT&CK, or CVE Program mapping.

Open ATT&CK lookup
cve · low confidence lookup

CVE-2020-26312 mapping review

Open the CVE-to-ATT&CK bridge for reviewed, inferred, or future official mappings tied to this CVE.

Open ATT&CK lookup
Vulnerability profileCVE Program record
Severity
High
CVSS
8.1 (3.1)
Known Exploited
No
Published

Vector: CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:N

Official CVE source material

CNA and ADP enrichment extracted from CVE v5

These fields come from the CVE record and ADP containers, not from Glexia's Take. They preserve time-varying source decisions such as CISA SSVC, KEV status, CVSS metrics, and provider references.

1CVSS vectors
0Timeline events
0ADP providers
3Source links

CVSS vector scores

1 official score

We collect every scored CVSS vector available in the official CNA and ADP containers. When more than one version is present, the table keeps the source vectors side by side instead of collapsing them into the highest score.

ScoreVersionSeverityVectorExploitImpactSource
8.1CVSS 3.1HighCVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:N2.85.2Primary CVE score

Vulnerability scoring details

Base CVSS 3.1 score

8.1High
CVSS 3.1 vector shape for CVE-2020-26312Attack VectorAttack ComplexityPrivileges RequiredUser InteractionScopeConfidentiality ImpactIntegrity ImpactAvailability Impact

Vector: CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:N

Attack Vector
NetworkAdjacentLocalPhysical
Attack Complexity
LowHigh
Privileges Required
NoneLowHigh
User Interaction
NoneRequired
Scope
ChangedUnchanged
Confidentiality Impact
HighLowNone
Integrity Impact
HighLowNone
Availability Impact
HighLowNone
Affected products

Products and packages named in the record

VendorProductVersion / packageStatus
dotmesh-iodotmeshdotmesh, 0unaffected
Weakness

CWE details

CWE links open Glexia weakness intelligence pages with official CWE context, developer remediation guidance, and related CVE mappings.

CWE-125 · source CWE mapping

Out-of-bounds Read

Out-of-bounds Read represents a recurring weakness pattern that can create exploitable paths when design, validation, or implementation controls are missing.

CWE-787 · source CWE mapping

Out-of-bounds Write

Out-of-bounds Write represents a recurring weakness pattern that can create exploitable paths when design, validation, or implementation controls are missing.