|
| 1 | +# Security policy |
| 2 | + |
| 3 | +## Reporting a vulnerability |
| 4 | + |
| 5 | +Report privately through GitHub's security advisories: |
| 6 | +[open a draft advisory](https://github.com/bcoles/kasld/security/advisories/new). |
| 7 | +The report stays private until a fix is published. Do not open a public issue |
| 8 | +for a vulnerability in this project's own code. |
| 9 | + |
| 10 | +A report that falls into one of the out-of-scope cases below will be answered |
| 11 | +with a pointer to where it belongs rather than an advisory. |
| 12 | + |
| 13 | +## In scope |
| 14 | + |
| 15 | +KASLD runs each component as a separate program and parses its output in the |
| 16 | +orchestrator, which is usually the more privileged process in a run. That |
| 17 | +asymmetry is where the interesting surface is: |
| 18 | + |
| 19 | +- **Orchestrator parsing.** `src/orchestrator.c` consumes component stdout, ELF |
| 20 | + section payloads and `dmesg` — input an unprivileged process can influence — |
| 21 | + inside the privileged process. Memory-safety, over-read or unbounded-loop |
| 22 | + bugs there are a genuine exposure surface; `tests/fuzz` covers these parsers, |
| 23 | + so a crashing input is directly actionable. |
| 24 | +- **The `extra/` helpers.** Several are documented as being run under `sudo`, |
| 25 | + so anything in one of them that mishandles untrusted input does so as root. |
| 26 | +- **Unintended execution or privilege change.** `KASLD_COMPONENT_DIR` and |
| 27 | + `KASLD_EXEC_WRAPPER` name programs kasld will execute. Any path by which |
| 28 | + either is set unexpectedly, or by which a run executes or writes something it |
| 29 | + should not, is in scope. |
| 30 | + |
| 31 | +## Not in scope |
| 32 | + |
| 33 | +- **KASLD recovering a kernel base.** Defeating KASLR is what this toolkit is |
| 34 | + for. A component working as documented is not a vulnerability, and neither is |
| 35 | + the toolkit succeeding against a hardened configuration. |
| 36 | +- **Kernel bugs found using KASLD.** A new kernel leak, or a kernel flaw a |
| 37 | + component exercises, belongs to the kernel rather than to this repository. |
| 38 | + Report it to <security@kernel.org> — see |
| 39 | + [Documentation/process/security-bugs.rst](https://docs.kernel.org/process/security-bugs.html) |
| 40 | + — or to the affected distribution. Embargoed CPU issues go to |
| 41 | + <hardware-security@kernel.org> instead. No fix or advisory can be issued from |
| 42 | + here for any of these. |
| 43 | +- **Techniques catalogued or implemented here.** Cataloguing KASLR bypass |
| 44 | + techniques, and shipping components that exercise them, is what this project |
| 45 | + does. A technique described in |
| 46 | + [docs/bypass-techniques.md](docs/bypass-techniques.md) or implemented as a |
| 47 | + component is not a vulnerability in this project. |
| 48 | + |
| 49 | +## Supported versions |
| 50 | + |
| 51 | +Fixes land on the default branch and ship in the next release. Only the most |
| 52 | +recent release is maintained — there are no maintenance branches for older |
| 53 | +tags. |
0 commit comments