<Vulnerability name="CVE-2026-18047">
    <DocumentDistribution xml:lang="en">Copyright © 2012 Red Hat, Inc. All rights reserved.</DocumentDistribution>
    <ThreatSeverity>Moderate</ThreatSeverity>
    <PublicDate>2026-07-28T10:36:31</PublicDate>
    <Bugzilla id="2507956" url="https://bugzilla.redhat.com/show_bug.cgi?id=2507956" xml:lang="en:us">
dogtag-pki: pki-core: redhat-pki: pki: ACME admin enable/disable endpoint authentication bypass via trailing slash
    </Bugzilla>
    <CVSS3 status="draft">
        <CVSS3BaseScore>6.5</CVSS3BaseScore>
        <CVSS3ScoringVector>CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:L/A:L</CVSS3ScoringVector>
    </CVSS3>
    <CWE>CWE-288</CWE>
    <Details xml:lang="en:us" source="Mitre">
A flaw was found in Dogtag PKI's ACME responder where the web.xml security constraints use exact URL pattern matching for admin-only enable/disable endpoints. By appending a trailing slash to the URL, an unauthenticated attacker can bypass the Tomcat authentication constraint while RESTEasy still routes the request to the handler, allowing unauthorized toggling of the ACME service state including persistent denial of service.
    </Details>
    <Details xml:lang="en:us" source="Red Hat">
A flaw was found in Dogtag PKI's ACME responder where the web.xml security constraints use exact URL pattern matching for admin-only enable/disable endpoints. By appending a trailing slash to the URL, an unauthenticated attacker can bypass the Tomcat authentication constraint while RESTEasy still routes the request to the handler, allowing unauthorized toggling of the ACME service state including persistent denial of service.
    </Details>
    <Statement xml:lang="en:us">
Red Hat rates this as Moderate because the impact of the authentication bypass is limited in scope and consequence. The vulnerability only affects the ACME enable/disable admin endpoints — other PKI subsystems (CA, KRA, OCSP, TPS) enforce authorization at the application layer and are not affected by this flaw. An attacker who exploits this flaw can only toggle the ACME service on or off. While re-enabling a disabled ACME service restores the full ACME protocol stack, certificate issuance through ACME still requires completing the standard RFC 8555 challenge-response flow, including proof of domain control — the enable/disable bypass alone does not grant the ability to obtain certificates. The ACME responder requires explicit installation and deployment and is not present in default PKI server configurations.
    </Statement>
    <Mitigation xml:lang="en:us">
To mitigate this vulnerability, change the URL patterns in the ACME responder's web.xml from exact-match to prefix-match.
Edit the file /usr/share/pki/acme/webapps/acme/WEB-INF/web.xml and replace the url-pattern entries for the enable and disable endpoints:

&lt;url-pattern&gt;/enable&lt;/url-pattern&gt;  -&gt;  &lt;url-pattern&gt;/enable/*&lt;/url-pattern&gt;
&lt;url-pattern&gt;/disable&lt;/url-pattern&gt; -&gt;  &lt;url-pattern&gt;/disable/*&lt;/url-pattern&gt;

Then restart the PKI server for the changes to take effect.
    </Mitigation>
    <PackageState impact="moderate" cpe="cpe:/a:redhat:certificate_system:10">
        <ProductName>Red Hat Certificate System 10</ProductName>
        <FixState>Fix deferred</FixState>
        <PackageName>redhat-pki:10/redhat-pki</PackageName>
    </PackageState>
    <PackageState impact="moderate" cpe="cpe:/a:redhat:certificate_system:11">
        <ProductName>Red Hat Certificate System 11</ProductName>
        <FixState>Fix deferred</FixState>
        <PackageName>redhat-pki</PackageName>
    </PackageState>
    <PackageState impact="moderate" cpe="cpe:/a:redhat:certificate_system:9">
        <ProductName>Red Hat Certificate System 9</ProductName>
        <FixState>Out of support scope</FixState>
        <PackageName>pki-core</PackageName>
    </PackageState>
    <PackageState impact="moderate" cpe="cpe:/a:redhat:certificate_system:9">
        <ProductName>Red Hat Certificate System 9</ProductName>
        <FixState>Out of support scope</FixState>
        <PackageName>redhat-pki</PackageName>
    </PackageState>
    <PackageState impact="moderate" cpe="cpe:/o:redhat:enterprise_linux:10">
        <ProductName>Red Hat Enterprise Linux 10</ProductName>
        <FixState>Fix deferred</FixState>
        <PackageName>dogtag-pki</PackageName>
    </PackageState>
    <PackageState impact="moderate" cpe="cpe:/o:redhat:enterprise_linux:6">
        <ProductName>Red Hat Enterprise Linux 6</ProductName>
        <FixState>Out of support scope</FixState>
        <PackageName>pki-core</PackageName>
    </PackageState>
    <PackageState impact="moderate" cpe="cpe:/o:redhat:enterprise_linux:7">
        <ProductName>Red Hat Enterprise Linux 7</ProductName>
        <FixState>Fix deferred</FixState>
        <PackageName>pki-core</PackageName>
    </PackageState>
    <PackageState impact="moderate" cpe="cpe:/o:redhat:enterprise_linux:8">
        <ProductName>Red Hat Enterprise Linux 8</ProductName>
        <FixState>Fix deferred</FixState>
        <PackageName>pki-core:10.6/pki-core</PackageName>
    </PackageState>
    <PackageState impact="moderate" cpe="cpe:/o:redhat:enterprise_linux:9">
        <ProductName>Red Hat Enterprise Linux 9</ProductName>
        <FixState>Fix deferred</FixState>
        <PackageName>pki-core</PackageName>
    </PackageState>
    <References xml:lang="en:us">
https://www.cve.org/CVERecord?id=CVE-2026-18047
https://nvd.nist.gov/vuln/detail/CVE-2026-18047
    </References>
</Vulnerability>