{"schemaVersion":1,"id":"CVE-2026-59774","requestedId":"CVE-2026-59774","aliases":["GHSA-6v53-hr58-556r"],"status":"published","rawState":"Deferred","rawSeverityStatus":"Deferred","duplicateOf":null,"indexable":true,"title":null,"description":"Gitea's Org-mode markup renderer processes INCLUDE directives supplied to the repository markup endpoint without preventing access to server-side files. An unauthenticated attacker can use a suitable public repository to read files accessible to the Gitea service account. If the disclosed files include app.ini and its INTERNAL_TOKEN, the attacker can chain the disclosure with internal logger access to modify a Git hook and execute commands as the Gitea service account.","dates":{"published":"2026-10-14T14:28:25.862Z","modified":"2026-10-14T15:29:45.485Z","reserved":null,"kevAdded":[],"kevDue":[]},"cvss":{"headline":{"score":9.8,"severity":"critical","version":"3.1","versionLabel":"v3.1","source":"cve.org","vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H","computed":false,"selection":"backend-summary"},"metrics":[{"version":"3.1","versionLabel":"v3.1","source":"cve.org","score":9.8,"severity":"critical","vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H","exploitability":null,"impact":null,"computed":false},{"version":"3.1","versionLabel":"v3.1","source":"nvd","score":9.8,"severity":"critical","vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H","exploitability":null,"impact":null,"computed":false}]},"epss":{"probability":null,"percentile":null,"severity":"unknown","asOf":null,"change":{"pp":null,"baselineDate":null,"baselineScore":null},"history":[],"last30":[]},"kev":{"state":"not-listed","entries":[],"listedCount":0,"totalCatalogs":3,"catalogs":[{"source":"cisa","label":"CISA","listed":false,"entry":null},{"source":"enisa","label":"ENISA","listed":false,"entry":null},{"source":"circl","label":"CIRCL","listed":false,"entry":null}]},"ransomware":{"state":"none-recorded","evidence":[]},"exploits":[{"id":"MSF_AUXILIARY_GATHER_FORGEJO_ORGMODE_FILEREAD_CVE_2026_59774","name":"Forgejo Arbitrary File Read via Org-mode Include","source":"metasploit","url":"https://github.com/rapid7/metasploit-framework/blob/master/modules/auxiliary/gather/forgejo_orgmode_fileread_cve_2026_59774.rb","maturity":"poc","reliabilityScore":0.5,"verified":false,"type":"remote","platforms":[],"requiresAuth":true,"exploitdb":null,"metasploit":{"fullname":"auxiliary/gather/forgejo_orgmode_fileread_cve_2026_59774","rank":"300","rankName":"normal","postAuth":true,"check":true,"stability":["crash-safe"],"sideEffects":["ioc-in-logs"],"reliability":[]}}],"exploitCount":1,"exploitSources":["metasploit"],"weaknesses":[{"id":"CWE-22","name":"Improper Limitation of a Pathname to a Restricted Directory ('Path Traversal')","description":"The product uses external input to construct a pathname that is intended to identify a file or directory that is located underneath a restricted parent directory, but the product does not properly neutralize special elements within the pathname that can cause the pathname to resolve to a location that is outside of the restricted directory.","type":"weakness","status":"Stable","abstraction":"Base","likelihoodOfExploit":"High","url":"https://cwe.mitre.org/data/definitions/22.html","capec":[{"id":"CAPEC-126","name":"Path Traversal","url":"https://capec.mitre.org/data/definitions/126.html"},{"id":"CAPEC-64","name":"Using Slashes and URL Encoding Combined to Bypass Validation Logic","url":"https://capec.mitre.org/data/definitions/64.html"},{"id":"CAPEC-76","name":"Manipulating Web Input to File System Calls","url":"https://capec.mitre.org/data/definitions/76.html"},{"id":"CAPEC-78","name":"Using Escaped Slashes in Alternate Encoding","url":"https://capec.mitre.org/data/definitions/78.html"},{"id":"CAPEC-79","name":"Using Slashes in Alternate Encoding","url":"https://capec.mitre.org/data/definitions/79.html"}],"techniques":[],"countermeasures":[]}],"ttp":{"capecs":[{"id":"CAPEC-126","name":"Path Traversal","url":"https://capec.mitre.org/data/definitions/126.html","weaknessIds":["CWE-22"],"techniqueIds":[]},{"id":"CAPEC-64","name":"Using Slashes and URL Encoding Combined to Bypass Validation Logic","url":"https://capec.mitre.org/data/definitions/64.html","weaknessIds":["CWE-22"],"techniqueIds":[]},{"id":"CAPEC-76","name":"Manipulating Web Input to File System Calls","url":"https://capec.mitre.org/data/definitions/76.html","weaknessIds":["CWE-22"],"techniqueIds":[]},{"id":"CAPEC-78","name":"Using Escaped Slashes in Alternate Encoding","url":"https://capec.mitre.org/data/definitions/78.html","weaknessIds":["CWE-22"],"techniqueIds":[]},{"id":"CAPEC-79","name":"Using Slashes in Alternate Encoding","url":"https://capec.mitre.org/data/definitions/79.html","weaknessIds":["CWE-22"],"techniqueIds":[]}],"techniques":[],"countermeasures":[],"countermeasuresByTactic":[]},"affected":[{"vendor":"gitea","product":"gitea","name":"Gitea","label":"gitea","ecosystem":null,"cpePart":"a","purl":null,"purlType":null,"source":null,"versions":[{"text":"≥ 1.22, < 1.27.1","noFixRecorded":false,"fixedIn":null}],"versionsText":"≥ 1.22, < 1.27.1","eol":null}],"affectedCount":1,"eol":{"hasEol":false,"count":0},"references":[{"url":"https://github.com/go-gitea/gitea/security/advisories/GHSA-6v53-hr58-556r","label":"github.com/go-gitea/gitea/security/advisories/GHSA-6v53-hr58-556r","hostname":"github.com","tags":["Vendor Advisory"],"sources":["cve.org","nvd"]},{"url":"https://github.com/go-gitea/gitea/pull/38642","label":"github.com/go-gitea/gitea/pull/38642","hostname":"github.com","tags":["Patch"],"sources":["cve.org","nvd"]},{"url":"https://blog.gitea.com/release-of-1.27.1/","label":"blog.gitea.com/release-of-1.27.1/","hostname":"blog.gitea.com","tags":["Release Notes"],"sources":["cve.org","nvd"]},{"url":"https://github.com/go-gitea/gitea/pull/38645","label":"github.com/go-gitea/gitea/pull/38645","hostname":"github.com","tags":["Patch"],"sources":["cve.org","nvd"]},{"url":"https://github.com/go-gitea/gitea/releases/tag/v1.27.1","label":"github.com/go-gitea/gitea/releases/tag/v1.27.1","hostname":"github.com","tags":["Release Notes"],"sources":["cve.org","nvd"]},{"url":"http://www.openwall.com/lists/oss-security/2026/08/10/3","label":"www.openwall.com/lists/oss-security/2026/08/10/3","hostname":"www.openwall.com","tags":[],"sources":["cve.org","nvd"]}],"droppedReferenceCount":0,"lineage":{"upstream":[],"downstream":[],"duplicates":[],"related":[]},"timeline":[{"kind":"published","date":"2026-10-14T14:28:25.862Z","label":"Published","detail":"Vulnerability first disclosed.","source":null},{"kind":"modified","date":"2026-10-14T15:29:45.485Z","label":"Last modified","detail":"Vulnerability information updated.","source":null}],"risk":{"score":70,"level":"high","profile":"default","profileName":"Default","thresholds":{"critical":75,"high":50,"medium":25,"low":10},"appliedRules":["high-cvss-alone"]},"warnings":[],"meta":{"dataAsOf":"2026-10-14T21:20:07.313Z","stale":false,"partial":false}}