{"api_version":"1","generated_at":"2026-05-28T03:07:30+00:00","cve":"CVE-2026-45728","urls":{"html":"https://cve.report/CVE-2026-45728","api":"https://cve.report/api/cve/CVE-2026-45728.json","docs":"https://cve.report/api","cve_org":"https://www.cve.org/CVERecord?id=CVE-2026-45728","nvd":"https://nvd.nist.gov/vuln/detail/CVE-2026-45728"},"summary":{"title":"Algernon: Single-file mode unconditionally enables debug mode","description":"Algernon is a small self-contained pure-Go web server. Prior to 1.17.7, when Algernon is invoked with a single file path instead of a directory, singleFileMode is set to true and debugMode is forcibly enabled. debugMode activates the PrettyError renderer, which on any Lua or template error response dumps the absolute path of the file that errored, complete byte contents of that file, and exception or parser error text. This response is served with HTTP 200 OK to whoever sent the request that triggered the error. Any client able to reach the server and able to provoke a runtime error in the served script obtains the full server-side source of that script and of any sibling Lua data file consulted during the request. This vulnerability is fixed in 1.17.7.","state":"PUBLISHED","assigner":"GitHub_M","published_at":"2026-05-26 17:16:47","updated_at":"2026-05-26 19:26:42"},"problem_types":["CWE-209","CWE-489","CWE-540","CWE-1188","CWE-209 CWE-209: Generation of Error Message Containing Sensitive Information","CWE-489 CWE-489: Active Debug Code","CWE-540 CWE-540: Inclusion of Sensitive Information in Source Code","CWE-1188 CWE-1188: Insecure Default Initialization of Resource"],"metrics":[{"version":"3.1","source":"security-advisories@github.com","type":"Secondary","score":"7.5","severity":"HIGH","vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N","data":{"version":"3.1","vectorString":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N","baseScore":7.5,"baseSeverity":"HIGH","attackVector":"NETWORK","attackComplexity":"LOW","privilegesRequired":"NONE","userInteraction":"NONE","scope":"UNCHANGED","confidentialityImpact":"HIGH","integrityImpact":"NONE","availabilityImpact":"NONE"}},{"version":"3.1","source":"CNA","type":"DECLARED","score":"7.5","severity":"HIGH","vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N","data":{"attackComplexity":"LOW","attackVector":"NETWORK","availabilityImpact":"NONE","baseScore":7.5,"baseSeverity":"HIGH","confidentialityImpact":"HIGH","integrityImpact":"NONE","privilegesRequired":"NONE","scope":"UNCHANGED","userInteraction":"NONE","vectorString":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N","version":"3.1"}}],"references":[{"url":"https://github.com/xyproto/algernon/security/advisories/GHSA-fwqx-8365-9983","name":"https://github.com/xyproto/algernon/security/advisories/GHSA-fwqx-8365-9983","refsource":"134c704f-9b21-4f2e-91b3-4a467353bcc0","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://www.cve.org/CVERecord?id=CVE-2026-45728","name":"CVE Program record","refsource":"CVE.ORG","tags":["canonical"]},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2026-45728","name":"NVD vulnerability detail","refsource":"NVD","tags":["canonical","analysis"]}],"affected":[{"source":"CNA","vendor":"xyproto","product":"algernon","version":"affected < 1.17.7","platforms":[]}],"timeline":[],"solutions":[],"workarounds":[],"exploits":[],"credits":[],"nvd_cpes":[],"vendor_comments":[],"enrichments":{"kev":null,"epss":{"cve_year":"2026","cve_id":"45728","cve":"CVE-2026-45728","epss":"0.000320000","percentile":"0.096450000","score_date":"2026-05-27","updated_at":"2026-05-28 00:02:13"},"legacy_qids":[]},"source_records":{"cve_program":{"containers":{"adp":[{"metrics":[{"other":{"content":{"id":"CVE-2026-45728","options":[{"Exploitation":"poc"},{"Automatable":"yes"},{"Technical Impact":"partial"}],"role":"CISA Coordinator","timestamp":"2026-05-26T17:31:16.231606Z","version":"2.0.3"},"type":"ssvc"}}],"providerMetadata":{"dateUpdated":"2026-05-26T17:31:40.280Z","orgId":"134c704f-9b21-4f2e-91b3-4a467353bcc0","shortName":"CISA-ADP"},"references":[{"tags":["exploit"],"url":"https://github.com/xyproto/algernon/security/advisories/GHSA-fwqx-8365-9983"}],"title":"CISA ADP Vulnrichment"}],"cna":{"affected":[{"product":"algernon","vendor":"xyproto","versions":[{"status":"affected","version":"< 1.17.7"}]}],"descriptions":[{"lang":"en","value":"Algernon is a small self-contained pure-Go web server. Prior to 1.17.7, when Algernon is invoked with a single file path instead of a directory, singleFileMode is set to true and debugMode is forcibly enabled. debugMode activates the PrettyError renderer, which on any Lua or template error response dumps the absolute path of the file that errored, complete byte contents of that file, and exception or parser error text. This response is served with HTTP 200 OK to whoever sent the request that triggered the error. Any client able to reach the server and able to provoke a runtime error in the served script obtains the full server-side source of that script and of any sibling Lua data file consulted during the request. This vulnerability is fixed in 1.17.7."}],"metrics":[{"cvssV3_1":{"attackComplexity":"LOW","attackVector":"NETWORK","availabilityImpact":"NONE","baseScore":7.5,"baseSeverity":"HIGH","confidentialityImpact":"HIGH","integrityImpact":"NONE","privilegesRequired":"NONE","scope":"UNCHANGED","userInteraction":"NONE","vectorString":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N","version":"3.1"}}],"problemTypes":[{"descriptions":[{"cweId":"CWE-209","description":"CWE-209: Generation of Error Message Containing Sensitive Information","lang":"en","type":"CWE"}]},{"descriptions":[{"cweId":"CWE-489","description":"CWE-489: Active Debug Code","lang":"en","type":"CWE"}]},{"descriptions":[{"cweId":"CWE-540","description":"CWE-540: Inclusion of Sensitive Information in Source Code","lang":"en","type":"CWE"}]},{"descriptions":[{"cweId":"CWE-1188","description":"CWE-1188: Insecure Default Initialization of Resource","lang":"en","type":"CWE"}]}],"providerMetadata":{"dateUpdated":"2026-05-26T16:38:50.435Z","orgId":"a0819718-46f1-4df5-94e2-005712e83aaa","shortName":"GitHub_M"},"references":[{"name":"https://github.com/xyproto/algernon/security/advisories/GHSA-fwqx-8365-9983","tags":["x_refsource_CONFIRM"],"url":"https://github.com/xyproto/algernon/security/advisories/GHSA-fwqx-8365-9983"}],"source":{"advisory":"GHSA-fwqx-8365-9983","discovery":"UNKNOWN"},"title":"Algernon: Single-file mode unconditionally enables debug mode"}},"cveMetadata":{"assignerOrgId":"a0819718-46f1-4df5-94e2-005712e83aaa","assignerShortName":"GitHub_M","cveId":"CVE-2026-45728","datePublished":"2026-05-26T16:38:50.435Z","dateReserved":"2026-05-13T05:51:48.667Z","dateUpdated":"2026-05-26T17:31:40.280Z","state":"PUBLISHED"},"dataType":"CVE_RECORD","dataVersion":"5.2"},"nvd":{"publishedDate":"2026-05-26 17:16:47","lastModifiedDate":"2026-05-26 19:26:42","problem_types":["CWE-209","CWE-489","CWE-540","CWE-1188","CWE-209 CWE-209: Generation of Error Message Containing Sensitive Information","CWE-489 CWE-489: Active Debug Code","CWE-540 CWE-540: Inclusion of Sensitive Information in Source Code","CWE-1188 CWE-1188: Insecure Default Initialization of Resource"],"metrics":{"cvssMetricV31":[{"source":"security-advisories@github.com","type":"Secondary","cvssData":{"version":"3.1","vectorString":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N","baseScore":7.5,"baseSeverity":"HIGH","attackVector":"NETWORK","attackComplexity":"LOW","privilegesRequired":"NONE","userInteraction":"NONE","scope":"UNCHANGED","confidentialityImpact":"HIGH","integrityImpact":"NONE","availabilityImpact":"NONE"},"exploitabilityScore":3.9,"impactScore":3.6}]},"configurations":[]},"legacy_mitre":{"record":{"CveYear":"2026","CveId":"45728","Ordinal":"1","Title":"Algernon: Single-file mode unconditionally enables debug mode","CVE":"CVE-2026-45728","Year":"2026"},"notes":[{"CveYear":"2026","CveId":"45728","Ordinal":"1","NoteData":"Algernon is a small self-contained pure-Go web server. Prior to 1.17.7, when Algernon is invoked with a single file path instead of a directory, singleFileMode is set to true and debugMode is forcibly enabled. debugMode activates the PrettyError renderer, which on any Lua or template error response dumps the absolute path of the file that errored, complete byte contents of that file, and exception or parser error text. This response is served with HTTP 200 OK to whoever sent the request that triggered the error. Any client able to reach the server and able to provoke a runtime error in the served script obtains the full server-side source of that script and of any sibling Lua data file consulted during the request. This vulnerability is fixed in 1.17.7.","Type":"Description","Title":"Algernon: Single-file mode unconditionally enables debug mode"}]}}}