{"api_version":"1","generated_at":"2026-07-14T13:26:14+00:00","cve":"CVE-2020-26286","urls":{"html":"https://cve.report/CVE-2020-26286","api":"https://cve.report/api/cve/CVE-2020-26286.json","docs":"https://cve.report/api","cve_org":"https://www.cve.org/CVERecord?id=CVE-2020-26286","nvd":"https://nvd.nist.gov/vuln/detail/CVE-2020-26286"},"summary":{"title":"CVE-2020-26286","description":"HedgeDoc is a collaborative platform for writing and sharing markdown. In HedgeDoc before version 1.7.1 an unauthenticated attacker can upload arbitrary files to the upload storage backend including HTML, JS and PHP files. The problem is patched in HedgeDoc 1.7.1. You should however verify that your uploaded file storage only contains files that are allowed, as uploaded files might still be served. As workaround it's possible to block the `/uploadimage` endpoint on your instance using your reverse proxy. And/or restrict MIME-types and file names served from your upload file storage.","state":"PUBLIC","assigner":"security-advisories@github.com","published_at":"2020-12-29 00:15:00","updated_at":"2020-12-30 16:14:00"},"problem_types":["CWE-434"],"metrics":[],"references":[{"url":"https://github.com/hedgedoc/hedgedoc/security/advisories/GHSA-wcr3-xhv7-8gxc","name":"https://github.com/hedgedoc/hedgedoc/security/advisories/GHSA-wcr3-xhv7-8gxc","refsource":"CONFIRM","tags":["Third Party Advisory"],"title":"Arbitrary file upload · Advisory · hedgedoc/hedgedoc · GitHub","mime":"text/html","httpstatus":"200","archivestatus":"0"},{"url":"https://github.com/hedgedoc/hedgedoc/releases/tag/1.7.1","name":"https://github.com/hedgedoc/hedgedoc/releases/tag/1.7.1","refsource":"MISC","tags":["Third Party Advisory"],"title":"Release HedgeDoc 1.7.1 · hedgedoc/hedgedoc · GitHub","mime":"text/html","httpstatus":"200","archivestatus":"200"},{"url":"https://github.com/hedgedoc/hedgedoc/commit/e9306991cdb5ff2752c1eeba3fedba42aec3c2d8","name":"https://github.com/hedgedoc/hedgedoc/commit/e9306991cdb5ff2752c1eeba3fedba42aec3c2d8","refsource":"MISC","tags":["Patch","Third Party Advisory"],"title":"Merge pull request from GHSA-wcr3-xhv7-8gxc · hedgedoc/hedgedoc@e930699 · GitHub","mime":"text/html","httpstatus":"200","archivestatus":"200"},{"url":"https://www.cve.org/CVERecord?id=CVE-2020-26286","name":"CVE Program record","refsource":"CVE.ORG","tags":["canonical"]},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2020-26286","name":"NVD vulnerability detail","refsource":"NVD","tags":["canonical","analysis"]}],"affected":[],"timeline":[],"solutions":[],"workarounds":[],"exploits":[],"credits":[],"nvd_cpes":[{"cve_year":"2020","cve_id":"26286","vulnerable":"1","versionEndIncluding":"","cpe1":"cpe","cpe2":"2.3","cpe3":"a","cpe4":"hedgedoc","cpe5":"hedgedoc","cpe6":"*","cpe7":"*","cpe8":"*","cpe9":"*","cpe10":"*","cpe11":"*","cpe12":"*","cpe13":"*"},{"cve_year":"2020","cve_id":"26286","vulnerable":"1","versionEndIncluding":"1","cpe1":"cpe","cpe2":"2.3","cpe3":"a","cpe4":"hedgedoc","cpe5":"hedgedoc","cpe6":"*","cpe7":"*","cpe8":"*","cpe9":"*","cpe10":"*","cpe11":"*","cpe12":"*","cpe13":"*"}],"vendor_comments":[],"enrichments":{"kev":null,"epss":null,"legacy_qids":[]},"source_records":{"cve_program":{"CVE_data_meta":{"ASSIGNER":"security-advisories@github.com","ID":"CVE-2020-26286","STATE":"PUBLIC","TITLE":"Arbitary file upload"},"affects":{"vendor":{"vendor_data":[{"product":{"product_data":[{"product_name":"hedgedoc","version":{"version_data":[{"version_value":"< 1.7.1"}]}}]},"vendor_name":"hedgedoc"}]}},"data_format":"MITRE","data_type":"CVE","data_version":"4.0","description":{"description_data":[{"lang":"eng","value":"HedgeDoc is a collaborative platform for writing and sharing markdown. In HedgeDoc before version 1.7.1 an unauthenticated attacker can upload arbitrary files to the upload storage backend including HTML, JS and PHP files. The problem is patched in HedgeDoc 1.7.1. You should however verify that your uploaded file storage only contains files that are allowed, as uploaded files might still be served. As workaround it's possible to block the `/uploadimage` endpoint on your instance using your reverse proxy. And/or restrict MIME-types and file names served from your upload file storage."}]},"impact":{"cvss":{"attackComplexity":"LOW","attackVector":"NETWORK","availabilityImpact":"NONE","baseScore":7.5,"baseSeverity":"HIGH","confidentialityImpact":"NONE","integrityImpact":"HIGH","privilegesRequired":"NONE","scope":"UNCHANGED","userInteraction":"NONE","vectorString":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:N","version":"3.1"}},"problemtype":{"problemtype_data":[{"description":[{"lang":"eng","value":"CWE-434 Unrestricted Upload of File with Dangerous Type"}]}]},"references":{"reference_data":[{"name":"https://github.com/hedgedoc/hedgedoc/security/advisories/GHSA-wcr3-xhv7-8gxc","refsource":"CONFIRM","url":"https://github.com/hedgedoc/hedgedoc/security/advisories/GHSA-wcr3-xhv7-8gxc"},{"name":"https://github.com/hedgedoc/hedgedoc/releases/tag/1.7.1","refsource":"MISC","url":"https://github.com/hedgedoc/hedgedoc/releases/tag/1.7.1"},{"name":"https://github.com/hedgedoc/hedgedoc/commit/e9306991cdb5ff2752c1eeba3fedba42aec3c2d8","refsource":"MISC","url":"https://github.com/hedgedoc/hedgedoc/commit/e9306991cdb5ff2752c1eeba3fedba42aec3c2d8"}]},"source":{"advisory":"GHSA-wcr3-xhv7-8gxc","discovery":"UNKNOWN"}},"nvd":{"publishedDate":"2020-12-29 00:15:00","lastModifiedDate":"2020-12-30 16:14:00","problem_types":["CWE-434"],"metrics":{"baseMetricV3":{"cvssV3":{"version":"3.1","vectorString":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:N","attackVector":"NETWORK","attackComplexity":"LOW","privilegesRequired":"NONE","userInteraction":"NONE","scope":"UNCHANGED","confidentialityImpact":"NONE","integrityImpact":"HIGH","availabilityImpact":"NONE","baseScore":7.5,"baseSeverity":"HIGH"},"exploitabilityScore":3.9,"impactScore":3.6},"baseMetricV2":{"cvssV2":{"version":"2.0","vectorString":"AV:N/AC:L/Au:N/C:N/I:P/A:N","accessVector":"NETWORK","accessComplexity":"LOW","authentication":"NONE","confidentialityImpact":"NONE","integrityImpact":"PARTIAL","availabilityImpact":"NONE","baseScore":5},"severity":"MEDIUM","exploitabilityScore":10,"impactScore":2.9,"acInsufInfo":false,"obtainAllPrivilege":false,"obtainUserPrivilege":false,"obtainOtherPrivilege":false,"userInteractionRequired":false}},"configurations":{"CVE_data_version":"4.0","nodes":[{"operator":"OR","children":[],"cpe_match":[{"vulnerable":true,"cpe23Uri":"cpe:2.3:a:hedgedoc:hedgedoc:*:*:*:*:*:*:*:*","versionEndExcluding":"1.7.1","cpe_name":[]}]}]}},"legacy_mitre":{"record":{"CveYear":"2020","CveId":"26286","Ordinal":"187708","Title":"CVE-2020-26286","CVE":"CVE-2020-26286","Year":"2020"},"notes":[{"CveYear":"2020","CveId":"26286","Ordinal":"1","NoteData":"HedgeDoc is a collaborative platform for writing and sharing markdown. In HedgeDoc before version 1.7.1 an unauthenticated attacker can upload arbitrary files to the upload storage backend including HTML, JS and PHP files. The problem is patched in HedgeDoc 1.7.1. You should however verify that your uploaded file storage only contains files that are allowed, as uploaded files might still be served. As workaround it's possible to block the `/uploadimage` endpoint on your instance using your reverse proxy. And/or restrict MIME-types and file names served from your upload file storage.","Type":"Description","Title":null},{"CveYear":"2020","CveId":"26286","Ordinal":"2","NoteData":"2020-12-28","Type":"Other","Title":"Published"},{"CveYear":"2020","CveId":"26286","Ordinal":"3","NoteData":"2020-12-28","Type":"Other","Title":"Modified"}]}}}