---
id: "CVE-2026-122188"
kind: "vulnerability"
aliases: ["CVE-2026-122188"]
title: "KnowledgeGraphEmbedding: path traversal in checkpoint loading lets attackers read files"
severity: "high"
cvss: 7.5
epss: null
exploited: false
status: "open"
category: "other"
products: []
ecosystems: []
tags: ["knowledgegraphembedding", "other", "python", "research-code", "self-hosted"]
not_affected_if: ["cli-only-trusted-user", "no-untrusted-input", "offline-only-use"]
published_at: "2026-11-05T03:17:21+00:00"
first_seen_at: "2026-11-05T03:31:40+00:00"
updated_at: "2026-11-05T03:34:16+00:00"
sources: [{"source": "nvd", "url": "https://nvd.nist.gov/vuln/detail/CVE-2026-122188", "first_seen_at": "2026-11-05T03:31:40+00:00"}, {"source": "analyst", "url": "https://vuldb.com/vuln/431162", "first_seen_at": "2026-11-05T03:34:16+00:00", "cites": ["https://vuldb.com/vuln/431162", "https://github.com/DeepGraphLearning/KnowledgeGraphEmbedding/blob/master/codes/run.py"]}]
exploit_sources: []
---

# KnowledgeGraphEmbedding: path traversal in checkpoint loading lets attackers read files

DeepGraphLearning KnowledgeGraphEmbedding's override_config function in codes/run.py does not restrict the data_path argument, so a crafted path can escape the intended directory. An attacker who can supply that argument can read files the process can reach on the host.

_Summary, check and fix written by a model from the sources; labelled as such._

## How to check

- Check whether you cloned DeepGraphLearning/KnowledgeGraphEmbedding or vendored codes/run.py (any commit up to and including 2e440e0f9c687314d5ff67ead68ce985dc446e3a, which is the latest as far as the sources say).
- Check whether --data_path, --init_checkpoint or a checkpoint's config.json can be set by anyone you do not trust (a web service, job queue, notebook or shared checkpoint wrapped around run.py). Plain local command-line use by the person running it is not an exposure.
- Files read must match the fixed names (entities.dict, relations.dict, train.txt, valid.txt, test.txt) under the supplied path, and contents are parsed as tab-separated triples, so impact is mainly limited to those files and their parse errors.

## Timeline

- 2026-11-05T03:31:40+00:00 nvd https://nvd.nist.gov/vuln/detail/CVE-2026-122188
- 2026-11-05T03:34:16+00:00 analyst https://vuldb.com/vuln/431162 — Read VulDB entry and codes/run.py on master: override_config/main join --data_path (CLI arg, or config.json value from the --init_checkpoint dir) into os.path.join with no validation, then open entities.dict, relations.dict, train/valid/test.txt. No fix, no versions (rolling, affects up to 2e440e0); project silent per VulDB. No in-the-wild exploitation seen; no maintainer page, so nothing marked verified. I did not look for the public PoC or the issue thread. No X search done.

## Documents

- [advisory] VDB-431162 KnowledgeGraphEmbedding override_config path traversal https://vuldb.com/vuln/431162
- [describes] KnowledgeGraphEmbedding codes/run.py (master) https://github.com/DeepGraphLearning/KnowledgeGraphEmbedding/blob/master/codes/run.py

## From the sources

A flaw has been found in DeepGraphLearning KnowledgeGraphEmbedding up to 2e440e0f9c687314d5ff67ead68ce985dc446e3a. Impacted is the function override_config of the file codes/run.py of the component Checkpoint Loading. This manipulation of the argument data_path causes path traversal. The attack can be initiated remotely. The exploit has been published and may be used. Continious delivery with rolling releases is used by this product. Therefore, no version details of affected nor updated releases are available. The project was informed of the problem early through an issue report but has not responded yet.

---

_Free to read at a human pace. An API with keys and an MCP server are in preparation; early access: hello@infrastack.ai_
