<?xml version='1.0' encoding='UTF-8'?>
<?xml-stylesheet href="/static/style.xsl" type="text/xsl"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
  <id>https://cve.radiocsirt.org/rss/recent/all/10</id>
  <title>Most recent entries from all</title>
  <updated>2026-10-03T14:10:46.233426+00:00</updated>
  <author>
    <name>Vulnerability-Lookup</name>
    <email>csirt@opendfir.org</email>
  </author>
  <link href="https://cve.radiocsirt.org" rel="alternate"/>
  <generator uri="https://lkiesow.github.io/python-feedgen" version="1.0.0">python-feedgen</generator>
  <subtitle>Contains only the most 10 recent entries.</subtitle>
  <entry>
    <id>https://cve.radiocsirt.org/vuln/euvd-2026-355219</id>
    <title>EUVD-2026-355219</title>
    <updated>2026-10-03T14:10:46.300563+00:00</updated>
    <content>EUVD-2026-355219</content>
    <link href="https://cve.radiocsirt.org/vuln/euvd-2026-355219"/>
  </entry>
  <entry>
    <id>https://cve.radiocsirt.org/vuln/fkie_cve-2026-71417</id>
    <title>fkie_cve-2026-71417</title>
    <updated>2026-10-03T14:10:46.300603+00:00</updated>
    <content type="xhtml">
      <div xmlns="http://www.w3.org/1999/xhtml">
        <p>Lemur manages TLS certificate creation. Prior to 1.9.3, POST /api/1/certificates/upload allowed a non-read-only user to create a duplicate row using another certificate body, authority_id, serial, or external_id without requiring permission on the underlying authority. PUT /api/1/certificates//revoke authorized the caller against only the selected Lemur row, so the creator of the duplicate bypassed CertificatePermission. The duplicate had no cert.endpoints, which also bypassed the safeguard that prevents revocation of deployed certificates. Issuer plugins then revoked the real CA-side certificate using certificate.body or external_id under the stored authority credentials. An attacker could therefore revoke arbitrary managed certificates and cause fleet-wide TLS denial of service. The fix rejects duplicate authority_id and serial identities, requires authority access on upload, and checks every matching row during revocation. This issue is fixed in version 1.9.3.</p>
      </div>
    </content>
    <link href="https://cve.radiocsirt.org/vuln/fkie_cve-2026-71417"/>
  </entry>
  <entry>
    <id>https://cve.radiocsirt.org/vuln/ghsa-pxmc-2ffp-8j67</id>
    <title>GHSA-pxmc-2ffp-8j67 — Lemur: Any user can revoke arbitrary certificates at the CA by uploading a duplicate record and revoking it</title>
    <updated>2026-10-03T14:10:46.300667+00:00</updated>
    <content type="xhtml">
      <div xmlns="http://www.w3.org/1999/xhtml"><p><strong>Affected:</strong> PyPI: lemur</p>
<p>## Summary</p>
<p>Repo under test: https://github.com/Netflix/lemur</p>
<p>`PUT /api/1/certificates/&lt;id&gt;/revoke` authorizes the caller against the *Lemur database row* (creator == current user, or `CertificatePermission` over the row's roles) rather than the underlying CA-side certificate identity. Separately, `POST /api/1/certificates/upload` lets any user passing `StrictRolePermission` create a new `Certificate` row while freely supplying `body`, `authority` (resolved by id/name with no `AuthorityPermission` check) and `external_id`; there is no uniqueness constraint on `body`, `serial`, or `external_id`.</p>
<p>An attacker can therefore read a target certificate's public `body`, `authority.id`, and `external_id` via `GET /certificates/&lt;id&gt;`, upload a duplicate row, and revoke that duplicate. The creator-bypass skips `CertificatePermission`, the empty-endpoints check passes because the duplicate has none, and `service.revoke()` then revokes at the CA using the attacker-supplied `body` (ACME) or `external_id` (DigiCert/Entrust/Google CA/CFSSL) under the authority's stored CA credentials — revoking the real production certificate.</p>
<p>## Affected route</p>
<p>`POST /api/1/certificates/upload` → `PUT /api/1/certificates/&lt;dup_id&gt;/revoke`</p>
<p>## Affected code</p>
<p>- [`lemur/certificates/views.py:651`](https://github.com/Netflix/lemur/blob/main/lemur/certificates/views.py#L651) — only `StrictRolePermission().can()` gates upload; no `AuthorityPermission` check
- [`lemur/certificates/schemas.py:391`](https://githu…</p></div>
    </content>
    <link href="https://cve.radiocsirt.org/vuln/ghsa-pxmc-2ffp-8j67"/>
  </entry>
  <entry>
    <id>https://cve.radiocsirt.org/vuln/pysec-2026-3678</id>
    <title>PYSEC-2026-3678 — Lemur: Any user can revoke arbitrary certificates at the CA by uploading a duplicate record and revoking it</title>
    <updated>2026-10-03T14:10:46.300746+00:00</updated>
    <content type="xhtml">
      <div xmlns="http://www.w3.org/1999/xhtml"><p><strong>Affected:</strong> PyPI: lemur</p>
<p>## Summary</p>
<p>Repo under test: https://github.com/Netflix/lemur</p>
<p>`PUT /api/1/certificates/&lt;id&gt;/revoke` authorizes the caller against the *Lemur database row* (creator == current user, or `CertificatePermission` over the row's roles) rather than the underlying CA-side certificate identity. Separately, `POST /api/1/certificates/upload` lets any user passing `StrictRolePermission` create a new `Certificate` row while freely supplying `body`, `authority` (resolved by id/name with no `AuthorityPermission` check) and `external_id`; there is no uniqueness constraint on `body`, `serial`, or `external_id`.</p>
<p>An attacker can therefore read a target certificate's public `body`, `authority.id`, and `external_id` via `GET /certificates/&lt;id&gt;`, upload a duplicate row, and revoke that duplicate. The creator-bypass skips `CertificatePermission`, the empty-endpoints check passes because the duplicate has none, and `service.revoke()` then revokes at the CA using the attacker-supplied `body` (ACME) or `external_id` (DigiCert/Entrust/Google CA/CFSSL) under the authority's stored CA credentials — revoking the real production certificate.</p>
<p>## Affected route</p>
<p>`POST /api/1/certificates/upload` → `PUT /api/1/certificates/&lt;dup_id&gt;/revoke`</p>
<p>## Affected code</p>
<p>- [`lemur/certificates/views.py:651`](https://github.com/Netflix/lemur/blob/main/lemur/certificates/views.py#L651) — only `StrictRolePermission().can()` gates upload; no `AuthorityPermission` check
- [`lemur/certificates/schemas.py:391`](https://githu…</p></div>
    </content>
    <link href="https://cve.radiocsirt.org/vuln/pysec-2026-3678"/>
  </entry>
</feed>
