0xMiden / 0xMiden/note-transport-service

No TLS on the gRPC server; missing HTTP/2 connection hardening

Đang mở
#120 1 bình luận 0 reaction 0 người được giao Xem trên GitHub
enhancement production-readiness
Ngôn ngữ chính
Rust
Star
3
Fork
10
Merge trung bình
2 giờ 23 phút
Pull request đã merge (30 ngày)
4

Mô tả

Severity: high.

### Summary

The server is plaintext-only. `tonic` is built without any `tls-*` feature (`Cargo.toml:126`) and `serve()` sets no TLS config (`crates/node/src/node/grpc/mod.rs:117-126`). Note *contents* are encrypted, but tags, cursors, and note headers travel in cleartext and traffic can be MITM'd/tampered.

Separately, no HTTP/2 hardening is configured: no `max_concurrent_streams`, `http2_keepalive_interval`/`timeout`, `tcp_keepalive`, or header-read timeout. `accept_http1(true)` also enables grpc-web (HTTP/1.1), where slow-header/body trickle applies. The 4 s `TimeoutLayer` only covers a request *after* dispatch.

### Recommendation

- Either add tonic TLS config, or document a hard requirement for a TLS-terminating proxy and bind only to localhost/private interfaces by default.
- Set `max_concurrent_streams`, keepalive, and `tcp_keepalive` on the builder.

---
Part of #114.

Hướng dẫn đóng góp

Mở hướng dẫn đóng góp

Đánh giá

Issue này chưa được đánh giá.

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.