pyronear / pyronear/pyro-annotator

Expired TLS certificate on annotationapi.pyronear.org

Open
#155 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
TypeScript
Stars
0
Forks
1
Avg merge
1d 2h
Merged PRs (30d)
2

Description

Summary

The production annotation API endpoint https://annotationapi.pyronear.org is serving an expired Let's Encrypt certificate, breaking all TLS-verifying clients.

Evidence

$ echo | openssl s_client -connect annotationapi.pyronear.org:443 -servername annotationapi.pyronear.org 2>/dev/null | openssl x509 -noout -subject -issuer -dates
subject=CN = annotationapi.pyronear.org
issuer=C = US, O = Let's Encrypt, CN = R13
notBefore=Apr  9 13:15:55 2026 GMT
notAfter =Jul  8 13:15:54 2026 GMT

The certificate expired on 2026-07-08 (~9 days ago as of 2026-07-17).

Impact

  • Any HTTPS client that verifies certificates fails with SSLError(SSLCertVerificationError: certificate has expired).
  • The data-transfer scripts that talk to the remote (make pull-sequences, make pull-seq-annotations, make push-annotations) cannot authenticate or connect.
  • The only current workaround is disabling TLS verification, which is insecure and should not be a standing practice.

Reproduce

make pull-sequences MAX_SEQUENCES=5 READ_ONLY_SOURCE=1
# -> Source annotation auth failed: SSLError(... certificate has expired ...)

Suggested fix

  • Renew/redeploy the Let's Encrypt certificate on annotationapi.pyronear.org (the auto-renewal / certbot hook likely failed silently).
  • Add expiry monitoring/alerting so this is caught before expiration next time.

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by checking the certificate renewal and deployment setup for annotationapi.pyronear.org, including the suspected certbot renewal hook. Reproduce the failure with the documented openssl command and make pull-sequences MAX_SEQUENCES=5 READ_ONLY_SOURCE=1; done means the endpoint serves a current trusted certificate and the affected transfer commands connect without disabling TLS verification.

Written by the indexing model from the issue text.

Assessment

Domain
infrastructure, security
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.