Ember has not cut a 1.0 release yet. Security fixes land on main. There is no LTS branch.
Please do not open a public GitHub issue for security vulnerabilities.
Instead, use one of:
- GitHub Security Advisories (preferred): open a private security advisory at https://github.com/brandonhon/ember/security/advisories/new.
- Direct email to the maintainer (see commit signatures for the address).
Include:
- A description of the issue and the security impact.
- Step-by-step reproduction (a minimal
curlor HTTP request is ideal). - The commit SHA you reproduced against.
You will receive an acknowledgement within 7 days. Most issues get a patch within 30 days; complex issues may take longer and we'll keep you updated.
We will credit you in the release notes unless you ask us not to.
Ember is designed for self-hosted, trusted-network or single-user public deployment behind a reverse proxy (Caddy in our reference deployment). Specifically:
- All
/api/*endpoints exceptPOST /api/auth/loginrequire authentication. - Admin-only endpoints additionally require
is_admin = 1. - TLS is terminated by the reverse proxy, not by Ember.
- Outbound URL fetches (feed subscription, OPML import, readability enrichment) are blocked from reaching RFC1918, loopback, link-local, and IPv6 ULA / link-local addresses unless
EMBER_ALLOW_PRIVATE_URLS=1is set. - Passwords use argon2id with parameters that meet OWASP's 2024 recommendations.
If your deployment differs significantly from this (no reverse proxy, public multi-tenant signup, etc.) please audit the relevant surfaces yourself. Ember is not designed for untrusted multi-tenant operation.
- Set a strong
EMBER_ADMIN_PASSWORD(40+ chars, random). - Generate
EMBER_SESSION_KEYwithopenssl rand -base64 48. - Run behind Caddy/Nginx/Cloudflare — Ember's
:8080should never be directly exposed. - Set firewall rules to restrict the Ollama port (
:11434) to localhost or the docker network. - Keep the
qwen2.5:0.5b(or your chosen model) updated via Settings → Language Model. - Schedule DB backups in Settings → Database. Keep at least 7 backups.
- Don't enable
EMBER_ALLOW_PRIVATE_URLSunless you trust every user who can add feeds. - Run
make vulncheckperiodically to catch upstream CVEs.