Security advisory
A path traversal vulnerability in the static router for Drogon from 1.0.0-beta14 to 1.6.0 could allow an unauthenticated, remote attacker to arbitrarily read files. The vulnerability is due to lack of proper input validation for requested path. An attacker could exploit this vulnerability by sending crafted HTTP request with specific path to read. Successful exploitation could allow the attacker to read files that should be restricted.
- Products
- Not specified
- Affected versions
- Not specified
- Fixed versions
- Not specified
- CVEs
- CVE-2021-35397
- Confirmed fixed CVEs
- Not specified
- Updated in this feed
- 31 Oct 2026, 11:49 UTC · Revision 1
Source evidence
A path traversal vulnerability in the static router for Drogon from 1.0.0-beta14 to 1.6.0 could allow an unauthenticated, remote attacker to arbitrarily read files. The vulnerability is due to lack of proper input validation for requested path. An attacker could exploit this vulnerability by sending crafted HTTP request with specific path to read. Successful exploitation could allow the attacker to read files that should be restricted.
osv:CVE-2021-35397
Complete source record
{
"id": "bf2c6b8ec16836a5645e82200b80ac97e3be9e8ce8b5b4e15e4572079b7de581",
"url": "https://osv.dev/vulnerability/CVE-2021-35397",
"method": "structured",
"payload": {
"kind": "advisory",
"title": "CVE-2021-35397",
"summary": "A path traversal vulnerability in the static router for Drogon from 1.0.0-beta14 to 1.6.0 could allow an unauthenticated, remote attacker to arbitrarily read files. The vulnerability is due to lack of proper input validation for requested path. An attacker could exploit this vulnerability by sending crafted HTTP request with specific path to read. Successful exploitation could allow the attacker to read files that should be restricted.",
"evidence": "osv:CVE-2021-35397",
"products": [],
"severity": "high",
"structured": {
"id": "CVE-2021-35397",
"aliases": [
"CVE-2021-35397"
],
"metrics": [
{
"type": "CVSS_V3",
"score": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N"
}
],
"affected": [
{
"ranges": [
{
"repo": "https://github.com/drogonframework/drogon",
"type": "GIT",
"events": [
{
"introduced": "fb17efe765d162be01680b05a3a387c7a182a4c5"
},
{
"last_affected": "08351ccf98b75e9ee9c0281d94f4c99022e0ec6f"
},
{
"introduced": "bbb338bf12abed17c97ef9b2fba4584600001ed6"
},
{
"last_affected": "d59021ef9fbeff86f48eee06136fa834cb436f01"
}
],
"database_specific": {
"extracted_events": [
{
"cpe": "cpe:2.3:a:drogon:drogon:*:*:*:*:*:*:*:*",
"range": [
{
"introduced": "1.1.0"
},
{
"last_affected": "1.6.0"
}
],
"source": "CPE_RANGE"
},
{
"cpe": "cpe:2.3:a:drogon:drogon:1.0.0:-:*:*:*:*:*:*",
"range": [
{
"introduced": "1.0.0-NA"
},
{
"last_affected": "1.0.0-NA"
}
],
"source": "CPE_STRING"
},
{
"cpe": "cpe:2.3:a:drogon:drogon:1.0.0:beta14:*:*:*:*:*:*",
"range": [
{
"introduced": "1.0.0-beta14"
},
{
"last_affected": "1.0.0-beta14"
}
],
"source": "CPE_STRING"
},
{
"cpe": "cpe:2.3:a:drogon:drogon:1.0.0:beta15:*:*:*:*:*:*",
"range": [
{
"introduced": "1.0.0-beta15"
},
{
"last_affected": "1.0.0-beta15"
}
],
"source": "CPE_STRING"
},
{
"cpe": "cpe:2.3:a:drogon:drogon:1.0.0:beta16:*:*:*:*:*:*",
"range": [
{
"introduced": "1.0.0-beta16"
},
{
"last_affected": "1.0.0-beta16"
}
],
"source": "CPE_STRING"
},
{
"cpe": "cpe:2.3:a:drogon:drogon:1.0.0:beta17:*:*:*:*:*:*",
"range": [
{
"introduced": "1.0.0-beta17"
},
{
"last_affected": "1.0.0-beta17"
}
],
"source": "CPE_STRING"
},
{
"cpe": "cpe:2.3:a:drogon:drogon:1.0.0:beta18:*:*:*:*:*:*",
"range": [
{
"introduced": "1.0.0-beta18"
},
{
"last_affected": "1.0.0-beta18"
}
],
"source": "CPE_STRING"
},
{
"cpe": "cpe:2.3:a:drogon:drogon:1.0.0:beta19:*:*:*:*:*:*",
"range": [
{
"introduced": "1.0.0-beta19"
},
{
"last_affected": "1.0.0-beta19"
}
],
"source": "CPE_STRING"
},
{
"cpe": "cpe:2.3:a:drogon:drogon:1.0.0:beta20:*:*:*:*:*:*",
"range": [
{
"introduced": "1.0.0-beta20"
},
{
"last_affected": "1.0.0-beta20"
}
],
"source": "CPE_STRING"
},
{
"cpe": "cpe:2.3:a:drogon:drogon:1.0.0:beta21:*:*:*:*:*:*",
"range": [
{
"introduced": "1.0.0-beta21"
},
{
"last_affected": "1.0.0-beta21"
}
],
"source": "CPE_STRING"
}
]
}
}
],
"versions": [
"1.0.0-NA",
"1.0.0-beta14",
"1.0.0-beta15",
"1.0.0-beta16",
"1.0.0-beta17",
"1.0.0-beta18",
"1.0.0-beta19",
"1.0.0-beta20",
"1.0.0-beta21",
"v1.6.0",
"v1.5.1",
"v1.5.0",
"v1.4.1",
"v1.4.0",
"v1.3.0",
"v1.2.0",
"v1.1.0"
],
"database_specific": {
"source": "https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2021-35397.json"
}
}
],
"modified": "2026-10-20T10:54:47.106760339Z",
"provider": "osv",
"references": [
"https://github.com/an-tao/drogon",
"https://github.com/an-tao/drogon/wiki/ENG-02-Installation",
"https://github.com/an-tao/drogon/wiki/ENG-03-Quick-Start#Static-Site",
"https://github.com/an-tao/drogon/blob/834e3eabdd0441ad2bc80c02e8bbfc3b8312c213/lib/src/StaticFileRouter.cc#L62-L67"
],
"provider_metadata": {}
},
"related_cves": [
{
"value": "CVE-2021-35397",
"evidence": "/id"
}
],
"security_relevant": true,
"severity_evidence": "/severity/0/score"
},
"source_id": "core-osv",
"document_id": 386132,
"published_at": "2021-08-04T11:15:08.003+00:00"
}