blitz_api/app
fusion44 4355c8eabd
fix(lightning): prevent shell injection in CLN local calls
Two authenticated code paths interpolated user-controlled input into a
shell command:

- decode_pay_request passed the bolt11 string into _make_local_call,
  which ran it via create_subprocess_shell; a crafted /lightning/
  decode-pay-req request could execute arbitrary commands. Switch
  _make_local_call to create_subprocess_exec with a discrete argv list.
- blitz_cln_unlock interpolated the wallet password into a
  cl.hsmtool.sh invocation run through a shell, and logged it in the
  clear. shlex.quote the interpolated values and mark the call
  sensitive=True.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-03 19:58:41 +02:00
..
api fix: send bitcoin-only warmup app status as app_state_update_message 2026-07-03 15:30:17 +02:00
apps chore: clean up imports; add better LND error logging 2026-02-03 11:05:19 +01:00
auth feat: make config loading more flexible 2025-03-23 17:43:39 +01:00
bitcoind chore: small fixes and updates 2025-05-06 09:16:46 +02:00
external feat: update Python and Devenv deps 2026-02-03 11:04:41 +01:00
lightning fix(lightning): prevent shell injection in CLN local calls 2026-07-03 19:58:41 +02:00
setup feat: replace call_script func with better func 2025-05-06 09:16:46 +02:00
system feat: update Python and Devenv deps 2026-02-03 11:04:41 +01:00
__init__.py feat: prepare for release 0.5.1beta 2023-02-05 21:24:31 +01:00
celery_app.py feat: fetch app status via a celery task 2025-05-06 09:16:46 +02:00
logging.py feat: make config loading more flexible 2025-03-23 17:43:39 +01:00
main.py fix: send bitcoin-only warmup app status as app_state_update_message 2026-07-03 15:30:17 +02:00
server.py chore(nix): migrate flake from poetry2nix to uv2nix 2026-07-03 16:00:42 +02:00