Skip to content

Apps using ZAF JWTs vulnerable to privilege escalations #206

@BenoitRanque

Description

@BenoitRanque

JWTs are a mechanism for delegating auth to a trusted third party.
The server consuming the tokens validates the signature, and from this can validate that the token is authentic, and that the claims have not been altered.

ZAF JWTs are fundamentally unsound in design, and in practice no better than hardcoding the JWT secret in the client application.

The ZAF server will happily sign any claims it receives. It performs no validations, which makes this an easily exploited vulnerability.
This does not affect Zendesk APIs directly, but any third party service that is being consumed via the ZAF using ZAF JWTs

JWTs signed by ZAF do guarantee the request was sent from the app.
However, servers cannot trust the claims.

I tried to report this responsibly via the bounty hunting program, which seemed to be the official route for these disclosures.
Today I was told this is a non-issue, because it does not affect Zendesk APIs, and third parties should be verifying auth anyways...

If you are using ZAF JWTs in your app, you must stop immediately. This is a glaring security hole and may already be actively exploited.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions