IBM Support

PI81403: An error may occur if the string representation of a subject includes an ID token that contains a claim with a non-string list.

Fixes are available

17.0.0.2: WebSphere Application Server Liberty 17.0.0.2
17.0.0.3: WebSphere Application Server Liberty 17.0.0.3
17.0.0.4: WebSphere Application Server Liberty 17.0.0.4
18.0.0.1: WebSphere Application Server Liberty 18.0.0.1
18.0.0.2: WebSphere Application Server Liberty 18.0.0.2
18.0.0.3: WebSphere Application Server Liberty 18.0.0.3
18.0.0.4: WebSphere Application Server Liberty 18.0.0.4
19.0.0.1: WebSphere Application Server Liberty 19.0.0.1
19.0.0.2: WebSphere Application Server Liberty 19.0.0.2
19.0.0.3: WebSphere Application Server Liberty 19.0.0.3
19.0.0.4: WebSphere Application Server Liberty 19.0.0.4
19.0.0.5: WebSphere Application Server Liberty 19.0.0.5
19.0.0.6: WebSphere Application Server Liberty 19.0.0.6
19.0.0.7: WebSphere Application Server Liberty 19.0.0.7
19.0.0.8: WebSphere Application Server Liberty 19.0.0.8
19.0.0.9: WebSphere Application Server Liberty 19.0.0.9
19.0.0.10: WebSphere Application Server Liberty 19.0.0.10
19.0.0.11: WebSphere Application Server Liberty 19.0.0.11
19.0.0.12: WebSphere Application Server Liberty 19.0.0.12
20.0.0.1: WebSphere Application Server Liberty 20.0.0.1
20.0.0.2: WebSphere Application Server Liberty 20.0.0.2
20.0.0.3: WebSphere Application Server Liberty 20.0.0.3
20.0.0.4: WebSphere Application Server Liberty 20.0.0.4
20.0.0.5: WebSphere Application Server Liberty 20.0.0.5
20.0.0.6: WebSphere Application Server Liberty 20.0.0.6
20.0.0.7: WebSphere Application Server Liberty 20.0.0.7
20.0.0.8: WebSphere Application Server Liberty 20.0.0.8
20.0.0.9: WebSphere Application Server Liberty 20.0.0.9
20.0.0.10: WebSphere Application Server Liberty 20.0.0.10
20.0.0.11: WebSphere Application Server Liberty 20.0.0.11
20.0.0.12: WebSphere Application Server Liberty 20.0.0.12

Subscribe

You can track all active APARs for this component.

 

APAR status

  • Closed as program error.

Error description

  • A java.lang.ClassCastException can be thrown when calling
    the toString() method of a javax.security.auth.Subject
    object that includes an ID token in the credentials that
    contains a claim whose value is a list of non-string
    entries.
    
    To reproduce the problem, include a claim in the ID token
    whose value is a list of objects other than strings. For
    example, a claim might be included that is a JSON array of
    other JSON objects. Whenever the toString() method is
    invoked on the respective subject object, a
    java.lang.ClassCastException will be thrown while converting
    the ID token claims to their string representations.
    

Local fix

Problem summary

  • ****************************************************************
    * USERS AFFECTED:  All users of IBM WebSphere Application      *
    *                  Server Liberty - Web Services Security      *
    ****************************************************************
    * PROBLEM DESCRIPTION: An error may occur if the string        *
    *                      representation of a subject includes an *
    *                      ID token that contains a claim with a   *
    *                      non-string list.                        *
    ****************************************************************
    * RECOMMENDATION:                                              *
    ****************************************************************
    A java.lang.ClassCastException can be thrown when calling the
    toString() method of a javax.security.auth.Subject object that
    includes an ID token in the credentials that contains a claim
    whose value is a list of non-string entries.
    
    To reproduce the problem, include a claim in the ID token whose
    value is a list of objects other than strings. For example, a
    claim might be included that is a JSON array of other JSON
    objects. Whenever the toString() method is invoked on the
    respective subject object, a java.lang.ClassCastException will
    be thrown while converting the ID token claims to their string
    representations.
    

Problem conclusion

  • The toString() implementation of an internal ID token class
    assumed that claims whose values were List objects were always
    lists of Strings. That assumption might not always be accurate
    and can result in inappropriate class casting. The toString()
    implementation now generates its result by getting the JSON
    representation of all claims in the token which eliminates the
    need for class casting.
    
    The fix for this APAR is currently targeted for inclusion in fix
    pack 17.0.0.2.  Please refer to the Recommended Updates page for
    delivery information:
    http://www.ibm.com/support/docview.wss?rs=180&uid=swg27004980
    

Temporary fix

Comments

APAR Information

  • APAR number

    PI81403

  • Reported component name

    LIBERTY PROFILE

  • Reported component ID

    5724J0814

  • Reported release

    CD0

  • Status

    CLOSED PER

  • PE

    NoPE

  • HIPER

    NoHIPER

  • Special Attention

    NoSpecatt / Xsystem

  • Submitted date

    2017-05-10

  • Closed date

    2017-05-18

  • Last modified date

    2017-05-18

  • APAR is sysrouted FROM one or more of the following:

  • APAR is sysrouted TO one or more of the following:

Fix information

  • Fixed component name

    LIBERTY PROFILE

  • Fixed component ID

    5724J0814

Applicable component levels

  • RCD0 PSY

       UP

[{"Business Unit":{"code":"BU053","label":"Cloud \u0026 Data Platform"},"Product":{"code":"SSEQTP","label":"WebSphere Application Server"},"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"CD0","Line of Business":{"code":"LOB36","label":"IBM Automation"}}]

Document Information

Modified date:
19 October 2021