Please do not open public GitHub issues for security reports.
Use GitHub private vulnerability reporting for this repository. If that is not available, contact the maintainer through their GitHub profile with:
- A description of the issue and its potential impact.
- Steps to reproduce, ideally with a minimal proof of concept.
- Affected version (
bpfcompat version) and deployment context (CLI, API server, container). - Any suggested remediation.
If you need encrypted transport, request a PGP key through the same private channel.
- Initial acknowledgement: within 3 business days of receipt.
- Triage and severity assignment: within 7 business days.
- Fix or coordinated disclosure plan: within 30 days for High/Critical severity, 90 days for Medium/Low. These windows may be extended for complex issues; you will be kept informed.
We follow a coordinated-disclosure model: once a fix is available we will agree on a public-disclosure date with the reporter. Credit is offered (and gladly given) to reporters who follow this process.
Only the latest minor release of main is supported with security fixes during
the current pre-1.0 phase. After 1.0, the latest minor release and the previous
minor will be supported.
In scope:
- The
bpfcompatCLI (cmd/bpfcompat). - The
bpfcompat serveHTTP API and embedded web UI (internal/api). - The
bpfcompat-validatorC/libbpf component (validator/c-libbpf). - The cloud-registry, registry, and audit subsystems (
internal/cloudregistry,internal/registry,internal/runtime). - VM execution drivers (
internal/vm).
Out of scope (please report upstream):
- Vulnerabilities in third-party dependencies pinned in
go.mod/go.sum— report upstream and we will pick up the fix on release. - Vulnerabilities in QEMU, libbpf, the host kernel, or guest cloud images.
- Findings that require the operator to already have root on the host running
bpfcompat.
Operators deploying bpfcompat serve should review:
Required production configuration:
- TLS termination (either
--tls-cert/--tls-keyonbpfcompat serveor via a trusted reverse proxy). - Configure
BPFCOMPAT_API_WRITE_KEYor JWT identity (BPFCOMPAT_API_WRITE_JWT_*). - Set
BPFCOMPAT_API_REGISTRY_REQUIRE_IDENTITY=trueandBPFCOMPAT_API_WRITE_REQUIRE_IDENTITY=truefor multi-tenant deployments. - Do not set
BPFCOMPAT_FETCH_ALLOW_INTERNAL_HOSTS=trueorBPFCOMPAT_FETCH_ALLOW_FILE_URI=trueoutside controlled environments. - Configure JWKS / OIDC issuer URLs with
https://only. The server rejects plaintexthttp://JWKS sources. - Rotate cloud-registry tokens using the hashed-at-rest form
(
TokenHash+TokenHashSalt); seecloudregistry.HashTokenGrant. - If the bootstrap registry token is enabled for a short-lived demo, bound it
with
BPFCOMPAT_REGISTRY_AUTH_TOKEN_NOT_BEFOREandBPFCOMPAT_REGISTRY_AUTH_TOKEN_EXPIRES_AT. Do not use the bootstrap token for production SaaS traffic. - For multi-tenant SaaS deployments, ensure JWT identity tokens carry an
explicit
tenantclaim orprojectsarray. Bare tokens are now rejected.