Skip to content

Security: maracatu-labs/catraca

Security

SECURITY.md

Security Policy

catraca handles raw TCP connections and passes file descriptors between processes via SCM_RIGHTS. Issues in this surface can have meaningful blast radius. Thanks for helping keep the project safe.

Reporting a vulnerability

Don't open public issues for vulnerabilities. Instead:

We'll acknowledge receipt within 72 hours and work with you to understand and fix the problem. Once a fix is published, we can credit you in the release notes if you'd like.

Scope

In scope:

  • Memory safety issues in src/ (Rust unsafe blocks, FFI with libc)
  • File descriptor leaks or double-close
  • Privilege escalation via the SCM_RIGHTS handoff
  • Incorrect handling of malformed input that affects worker behavior
  • Resource exhaustion (fd exhaustion, ring queue saturation)

Out of scope:

  • Vulnerabilities in dependencies (libc, io-uring) — report to upstream first, but please tell us if catraca is affected
  • Issues that require root or pre-existing access to the host
  • DoS via well-formed traffic at expected rates (this is an L4 dispatcher; it does not implement rate limiting by design — that's the worker's job or a separate layer)

Best practices for operators

  • Run catraca as a non-root user with the minimum capabilities required to listen on the configured port.
  • Keep io_uring available to the process and confirm your seccomp profile permits the required syscalls.
  • Constrain the listener port and bind address explicitly; the default 0.0.0.0 is convenient for development but you usually want a more specific bind in production.
  • Audit your worker processes — catraca trusts whatever process owns the .ctrl UDS to receive file descriptors.
  • Keep kernel and Rust toolchain updated.

Security advisories

Published advisories appear in GitHub Security Advisories.

There aren't any published security advisories