Algernon: Single-file mode unconditionally enables debug mode
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.
Problem Types
| Type | CWE ID | Description |
|---|
| CWE | CWE-209 | CWE-209: Generation of Error Message Containing Sensitive Information |
| CWE | CWE-489 | CWE-489: Active Debug Code |
| CWE | CWE-540 | CWE-540: Inclusion of Sensitive Information in Source Code |
| CWE | CWE-1188 | CWE-1188: Insecure Default Initialization of Resource |
Type: CWE
Description: CWE-209: Generation of Error Message Containing Sensitive Information
Type: CWE
Description: CWE-489: Active Debug Code
Type: CWE
Description: CWE-540: Inclusion of Sensitive Information in Source Code
Type: CWE
Description: CWE-1188: Insecure Default Initialization of Resource
Metrics
| Version | Base score | Base severity | Vector |
|---|
| 3.1 | 7.5 | HIGH | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N |
Version: 3.1
Base score: 7.5
Base severity: HIGH
Vector: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N