Turnpress through 0.4.2 OS Command Injection via Crafted .docx File Names
Turnpress through 0.4.2 contains an OS command injection vulnerability that allows attackers to execute shell commands by supplying .docx files with crafted names. The convertDocxToHtml function in src/converter.ts invokes pandoc through execa with shell:true, so shell metacharacters in the --docx path run with the victim's privileges during convert or create.
- Products
- Not specified
- Affected versions
- Not specified
- Fixed versions
- Not specified
- CVEs
- CVE-2026-110647
- Confirmed fixed CVEs
- Not specified
- Updated in this feed
- 3 Nov 2026, 10:54 UTC · Revision 1
Source evidence
Turnpress through 0.4.2 OS Command Injection via Crafted .docx File Names
core-osv · Original sourcePublished 14 Oct 2026, 14:17 UTC
Turnpress through 0.4.2 contains an OS command injection vulnerability that allows attackers to execute shell commands by supplying .docx files with crafted names. The convertDocxToHtml function in src/converter.ts invokes pandoc through execa with shell:true, so shell metacharacters in the --docx path run with the victim's privileges during convert or create.
osv:CVE-2026-110647
Complete source record
{
"id": "526379d78c535d1d5144a2b79db874d4be4cdf973cb33b88a16a960019171d2b",
"url": "https://osv.dev/vulnerability/CVE-2026-110647",
"method": "structured",
"payload": {
"kind": "advisory",
"title": "Turnpress through 0.4.2 OS Command Injection via Crafted .docx File Names",
"summary": "Turnpress through 0.4.2 contains an OS command injection vulnerability that allows attackers to execute shell commands by supplying .docx files with crafted names. The convertDocxToHtml function in src/converter.ts invokes pandoc through execa with shell:true, so shell metacharacters in the --docx path run with the victim's privileges during convert or create.",
"evidence": "osv:CVE-2026-110647",
"products": [],
"severity": "high",
"structured": {
"id": "CVE-2026-110647",
"aliases": [
"CVE-2026-110647"
],
"metrics": [
{
"type": "CVSS_V4",
"score": "CVSS:4.0/AV:L/AC:L/AT:N/PR:N/UI:P/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N"
}
],
"affected": [
{
"ranges": [
{
"repo": "https://github.com/jinghaihan/turnpress",
"type": "GIT",
"events": [
{
"introduced": "0"
},
{
"last_affected": "937e203ea8b62d22f0f47db049d404f843760e25"
}
],
"database_specific": {
"extracted_events": [
{
"range": [
{
"introduced": "0"
},
{
"last_affected": "0.4.2"
}
],
"source": "AFFECTED_FIELD",
"strategy": "StandardRange"
},
{
"range": [
{
"introduced": "0"
},
{
"last_affected": "0.4.2"
}
],
"source": "DESCRIPTION"
}
]
}
}
],
"versions": [
"v0.4.2",
"v0.4.1",
"v0.4.0",
"v0.3.6",
"v0.3.5",
"v0.3.4",
"v0.3.3",
"v0.3.2",
"v0.3.1",
"v0.3.0",
"v0.2.1",
"v0.2.0",
"v0.1.1",
"v0.1.0"
],
"database_specific": {
"source": "https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-110647.json"
}
}
],
"modified": "2026-10-28T02:30:28.005573509Z",
"provider": "osv",
"references": [
"https://www.npmjs.com",
"https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/110xxx/CVE-2026-110647.json",
"https://nvd.nist.gov/vuln/detail/CVE-2026-110647",
"https://www.vulncheck.com/advisories/turnpress-through-0.4.2-os-command-injection-via-crafted-docx-file-names",
"https://github.com/jinghaihan/turnpress/pull/2",
"https://github.com/jinghaihan/turnpress",
"https://github.com/jinghaihan/turnpress/blob/v0.4.2/src/converter.ts#L33-L61"
],
"provider_metadata": {
"cwe_ids": [
"CWE-78"
],
"cna_assigner": "VulnCheck",
"osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/110xxx/CVE-2026-110647.json"
}
},
"related_cves": [
{
"value": "CVE-2026-110647",
"evidence": "/id"
}
],
"security_relevant": true,
"severity_evidence": "/severity/0/score"
},
"source_id": "core-osv",
"document_id": 494760,
"published_at": "2026-10-14T14:17:15.77+00:00"
}