Nginx Proxy Manager 2.14.0 returns private TLS key material through the certificate download API. A user with certificate read access can download a ZIP archive containing privkey.pem for the selected certificate.
The route GET /api/nginx/certificates/:certificate_id/download is handled by backend/internal/certificate.js::download(). The handler packages files from the live certificate directory into a ZIP archive.
The authorization boundary is certificate read access, such as the certificates:get capability for the target certificate. The returned archive includes private key files from the certificate directory instead of limiting the response to public certificate or chain material.
The affected object is the private key associated with the selected Nginx Proxy Manager certificate. This issue is distinct from creating or importing a certificate; the disclosure occurs through the existing download endpoint.