Security

 View Only
  • 1.  ClearPass 6.14 - EAP-TEAP machine authorization broken (regression from 6.11 / 6.12)

    Posted 16 days ago
    Edited by JV-008881 7 days ago
    Hi everyone,
     
    I'd like to share an issue we've been investigating for several days, in case anyone else has encountered the same behavior with ClearPass 6.14 using EAP-TEAP.

    Environment

     
    • ClearPass 6.14 (fresh installation)
    • Active Directory authorization source
    • Configuration restored from a 6.11 backup (not an in-place upgrade)
    • EAP-TEAP with machine and user (chained) authentication

    Issue

     
    TEAP authentication itself succeeds, but machine authorization behaves inconsistently depending on the scenario.
     

    Scenario 1 - Machine authentication only (Method 1)

     
    • Method 1 (machine, EAP-TLS inside TEAP) succeeds.
    • The machine authorization filter fails to execute.
    • Machine AD attributes (including memberOf) are not returned.
     

    Scenario 2 - Full TEAP authentication (Method 1 + Method 2)

     
    • Method 1 (machine) succeeds.
    • Method 2 (user) succeeds.
    • User authorization is performed correctly, with full memberOf and group attributes.
    • Machine authorization is not executed at all.
    • No machine AD attributes are available at policy evaluation time.
     
    This differs from ClearPass 6.11 / 6.12, where both machine and user authorization data were consistently available in both scenarios.

    Investigation performed

     
    To rule out environment-specific variables, we reproduced the issue in a fully isolated lab:
     
    • Fresh ClearPass 6.14 installation
    • New Active Directory domain
    • New Windows 11 client
    • New internal PKI with self-signed certificates
     
    The result was identical to what we see in production.
     
    We also compared authorization sources:
    • Entra ID as the authorization source: TEAP machine authorization works correctly (filter uses %{Certificate:Subject-AltName-URI}, unrelated to the TEAP username parameter)
    • EAP-TLS with machine certificate (no TEAP tunnel): machine authorization works correctly using the standard Authentication:Username filter.
     

    About the official TEAP filter

     
    The Aruba documentation recommends using:
    https://arubanetworking.hpe.com/techdocs/NAC/tech-corner/teap/
    (&(sAMAccountName=%{Authentication:TEAP-Method-1-Username})(objectClass=computer))

    This filter works correctly on ClearPass 6.11. On 6.14, it no longer reliably returns machine authorization during TEAP.

    We also noticed that the computed value of Authentication:TEAP-Method-1-Username is escaped differently in 6.14 - a backslash is inserted before the trailing $ (e.g. MACHINE\$ instead of MACHINE$).

    However, manually executing the AD filter with the escaped value still returns the computer object correctly, so we don't believe the escaping itself is the root cause.

    So the machine authorization lookup appears to simply not be executed (or executed with an empty parameter) during the full TEAP transaction - this is a timing/population issue on Authentication:TEAP-Method-1-Username, not a filter syntax problem.

    Workaround (partial)

     
    We found a workaround using the certificate's SAN instead of the TEAP Method-1 username, since Certificate:* attributes are populated directly from the TLS handshake rather than from TEAP's internal identity parsing:
     
    For example:
     
    (&(dNSHostName=%{Certificate:Subject-AltName-DNS})(objectClass=computer))
    or
    (&(sAMAccountName=%{Certificate:Subject-AltName-DNS}$)(objectClass=computer))
    This works correctly for machine-only authentication, we get authorization for the machine.
     
    Unfortunately, it is "not a complete workaround", because during a full TEAP authentication (Method 1 + Method 2), machine authorization is still skipped and only the user authorization is performed.
    We haven't yet found a filter that reliably survives both scenarios (machine-only and full chain) the way it worked in versions 6.11 and 6.12.

    TAC status

     
    Aruba TAC has opened an internal engineering defect:CP-60444
     
    The case is currently under investigation by the development team.

    Questions

     
    Has anyone running ClearPass 6.14 with an AD authorization source and EAP-TEAP observed the same behavior? Specifically:
    • Machine authorization being skipped with Method 1 alone, using the documented filter (&(sAMAccountName=%{Authentication:TEAP-Method-1-Username})(objectClass=computer))
    • Machine authorization being skipped once both Method 1 and Method 2 succeed, with only user authorization attributes remaining available

    I'd also be interested to know whether anyone has found a reliable workaround while waiting for an official fix.

     
    Thanks!



    ------------------------------
    Best regards,
    Jordan Vivet
    #ACP-CA #ACP-NS #APS-SSE #APC-ClearPass
    ------------------------------



  • 2.  RE: ClearPass 6.14 - EAP-TEAP machine authorization broken (regression from 6.11 / 6.12)

    Posted 15 days ago

    Hi Jordan.

    Many thx for this explanation. I'm currently running 6.14 in the lab and one instance at the customer. Fortunately didn't yet trigger this problem. 

    What is more troubling for me are SHA1 CA certificates for Aruba APs factory device certificates being removed during upgrade. And my dot1x authentication for APs is now failing. 

    Best, Gorazd 



    ------------------------------
    Gorazd Kikelj
    MVP Guru 2025
    ------------------------------



  • 3.  RE: ClearPass 6.14 - EAP-TEAP machine authorization broken (regression from 6.11 / 6.12)

    Posted 8 days ago

    Jordan, haven't hit this one myself, but three things that might help.

    Half of it is expected behaviour rather than a bug. The TEAP tech corner page notes that machine certificate attributes are only available when the device does machine auth alone. Once both inner methods use certs, you get the user cert only. So Certificate:Subject-AltName-DNS was never going to survive the full chain, regardless of CP-60444.

    For the rest, worth raising CP-55234 on your TAC case. It's in the 6.14.0 resolved issues: RADIUS authorizations now automatically bypass LDAP/AD lookups when the outer identity is anonymous. New in 6.14, on by default, not configurable, and under TEAP with identity privacy the outer identity always is. HPE hasn't linked it to CP-60444, but it's the same release and the same area, so it's worth asking engineering whether one caused the other.

    Workaround worth testing: on the machine-only auth that works today, write the machine's group membership to the endpoint record with a Policy Manager Entity Update Enforcement profile, then read it back on the full chain as %{Authorization:[Endpoints Repository]:...}. Use it in role mapping or enforcement, not in an auth source's filter query, which is unsupported and fails outright. Stale by design, but it should hold until the fix lands.

    One more to rule out: try the machine filter as a service-level authorization source rather than an extra filter row on the AD source. Different code path, cheap to test.

    Gorazd, your SHA-1 issue is documented as CP-58795 in the 6.14 known issues, with custom SHA-256 certs as the workaround. Worth noting it's scoped to RadSec specifically, so if your AP dot1x failure isn't RadSec it's a separate problem.



    ------------------------------
    Dustin Burns

    Lead Mobility Engineer @Worldcom Exchange, Inc.

    ACCX 1271| ACMX 509| ACSP | ACDA | MVP Guru 2022-2023
    If my post was useful accept solution and/or give kudos
    ------------------------------



  • 4.  RE: ClearPass 6.14 - EAP-TEAP machine authorization broken (regression from 6.11 / 6.12)

    Posted 8 days ago
    Edited by JV-008881 7 days ago

    Hi Dustin,

    Thanks for taking the time to break this down very helpful.

    I'll raise CP-55234 with TAC and ask if there's a known relationship with CP-60444, or if it's coincidental (same release, same area as you noted).

    The Entity Update Enforcement Profile approach is a great idea, write machine memberOf to the endpoint record during machine-only auth, then read it back via %{Authorization:[Endpoints Repository]:...} during the full chain. I hadn't considered persisting it that way. 

    Good call on testing the machine filter as a service-level authorization source rather than an extra filter row on the AD source, different code path, cheap to test, will try that too.

    TAC has confirmed CP-60444 is scoped to the $ escaping issue and that a fix is coming in an upcoming 6.14.x patch, no ETA yet. I'll update this thread once I have more news.

    Thanks again.



    ------------------------------
    Best regards,
    Jordan Vivet
    #ACP-CA #ACP-NS #APS-SSE #APC-ClearPass
    ------------------------------



  • 5.  RE: ClearPass 6.14 - EAP-TEAP machine authorization broken (regression from 6.11 / 6.12)

    Posted 7 days ago
    Edited by JV-008881 7 days ago

    Hi Dustin,

    Tested this one, added a new dedicated authorization source with the machine filter, declared at the service level (Authorization Sources) rather than as an extra filter row on the existing AD source. Tried it both with "Use for Authorization" checked and unchecked.

    Same result: no machine authorization attributes at all during full TEAP authentication (Method 1 + Method 2 succeeding). I also swapped the filter itself between (&(dNSHostName=%{Certificate:Subject-AltName-DNS})(objectClass=computer)) and the documented (&(sAMAccountName=%{Authentication:TEAP-Method-1-Username})(objectClass=computer)), no difference either way. 

    So it looks like this isn't a filter-syntax or source-declaration issue at all, during full-chain TEAP, no machine authorization lookup gets attempted in the first place, regardless of where or how the source/filter is configured. That's consistent with what we're seeing in the debug logs (no LDAP query for the machine object shows up during full-chain, whereas it does show up cleanly during machine-only auth).

    Follow-up on the CP-55234 question, TAC confirmed it's not related to CP-60444. Their explanation: the outer identity lookup bypass (CP-55234) happens before authentication, while the authorization lookup issue we're tracking (CP-60444) happens after authentication succeeds, different phases entirely, so the bypass logic doesn't come into play here.

    TAC has confirmed the root cause (CP-60444) and is currently working on a fix, expected in an upcoming 6.14.x patch. I'll wait for that to land and report back here once we've had a chance to validate it.



    ------------------------------
    Best regards,
    Jordan Vivet
    #ACP-CA #ACP-NS #APS-SSE #APC-ClearPass
    ------------------------------



  • 6.  RE: ClearPass 6.14 - EAP-TEAP machine authorization broken (regression from 6.11 / 6.12)

    Posted 7 days ago

    That's a clean negative result, thanks for running it properly. My service-level source idea is dead and your debug logs are why. If no LDAP query for the machine object shows up at all during full chain, then nothing downstream of the lookup matters, and moving the source or reworking the filter was never going to help. Fair enough on CP-55234 too. The pre-auth versus post-auth split makes sense.

    Which leaves the endpoint approach as the one that should still work, and your finding is what makes it the right answer rather than just an alternative. It sidesteps the defect entirely because it never needs a machine lookup during the full chain.

    Rough shape: on your machine-only service, add a ClearPass Entity Update enforcement profile that writes the machine memberOf values into the endpoint record as a custom attribute. Then on the TEAP service, add the Endpoints Repository as an authorization source and read it back with %{Authorization:[Endpoints Repository]:YourAttribute} in role mapping. Machine-only auth still does a working lookup, so the data gets written. Full chain never has to ask.

    One caveat before you build it. The endpoint attribute persists, so a machine that leaves a group keeps the old value until it next authenticates machine-only. Depending on how much those groups gate, you may want a timestamp alongside it so you can age the value out. Still worth it as a bridge until the 6.14.x patch lands.



    ------------------------------
    Dustin Burns

    Lead Mobility Engineer @Worldcom Exchange, Inc.

    ACCX 1271| ACMX 509| ACSP | ACDA | MVP Guru 2022-2023
    If my post was useful accept solution and/or give kudos
    ------------------------------



  • 7.  RE: ClearPass 6.14 - EAP-TEAP machine authorization broken (regression from 6.11 / 6.12)

    Posted 7 days ago
    Edited by JV-008881 7 days ago

    Thanks for confirming, and for the detailed breakdown of the endpoint approach, really appreciate the effort you put into this.

    That's a solid alternative solution. I'll keep it in mind and put it in place if TAC and the patch take too long to come out.

    Thanks again for the help throughout this thread!



    ------------------------------
    Best regards,
    Jordan Vivet
    #ACP-CA #ACP-NS #APS-SSE #APC-ClearPass
    ------------------------------