LuxLibre › Security policy
Some LuxLibre lights talk to phones and computers. The FlashKa keychain light connects over Bluetooth Low Energy (LE, the low-power kind of Bluetooth), can act as a keyboard that turns slides, and comes with two web pages: a control app and a firmware installer. This page explains how to report a security problem without making it public before it is fixed.
Use GitHub’s private vulnerability reporting:
Please do not describe a security problem in a public issue, pull request or discussion until a fix is published.
If there is no Report a vulnerability button, private reporting is not switched on yet. Then open a public issue that only says that you have a security problem to report, with no details, and wait for a maintainer to answer there.
Safety or security? A problem that happens by itself (heat, a cell, charging, a protection that does not work) is a safety problem: report it in public as described in SAFETY.md. If someone else could cause it without the owner’s consent, for example over Bluetooth or from a web page, report it privately here.
ver on the LuxLibre console, the FlashKa firmware version, or the control app
version shown at the bottom of the app.Test only on lights, phones and computers that you own or are allowed to test.
A maintainer answers in the private report, works out the fix with you and agrees with you when the details are published. A fix is published with a GitHub security advisory and an entry in CHANGELOG.md. The advisory credits you, unless you prefer not to be named.
| In scope | Examples |
|---|---|
| FlashKa firmware: Bluetooth pairing and bonding (bonding: the light and a computer store a shared key so that they can reconnect) | pairing or bonding outside presenter mode; a device that is not paired reads or writes the encrypted keyboard characteristics; the stored keys of paired computers can be read or changed over the air |
| FlashKa firmware: HID (human interface device: the light acting as a keyboard in presenter mode) | the light sends keys other than the documented ones, or sends keys because of a device that is not paired with it |
| FlashKa firmware: control link of the app | the laser can be switched over Bluetooth (the design does not allow it); a Bluetooth window stays open longer than documented; packets that crash the light or make it skip a protection |
| Web pages: control app, firmware installer, this project’s GitHub Pages site | script injection, for example through a device name; the installer writes a different firmware image from the one it shows, or an image made for the other FlashKa board; a page sends data off the computer (the pages are made to upload nothing) |
LuxLibre firmware (firmware/) |
console input that crashes the firmware, damages its stored settings or sets a parameter outside its allowed range; any way around the thermal, low-voltage, laser or lockout protections |
Out of scope:
These are documented choices, not vulnerabilities:
Security fixes are made for the newest release line only.
| Version | Contains | Security fixes |
|---|---|---|
| 0.3.x | LuxLibre firmware 0.3; FlashKa Keychain v0.7 with FlashKa firmware 0.7.0 and control app 0.7.0; the installer holds firmware 0.7.0 (v0.7) and 0.6.0 (v0.6) | yes |
| 0.2.x | LuxLibre firmware 0.2; FlashKa Keychain v0.6 with its firmware, control app and installer 0.6 | no |
| 0.1.x | LuxLibre firmware 0.1; FlashKa Keychain v0.5 | no |