Uploaded image for project: 'Jenkins'
  1. Jenkins
  2. JENKINS-32442

Disable Jenkins API tokens by default


      Submitting as delegate for a Cisco pen-testing team
      This is an enhancement to improve the security posture of the default Jenkins install.

      Headline: Disable Jenkins API tokens by default
      Platforms: Jenkins
      Versions: 1.622
      CWE Tags: CWE-671, CWE-424

      Jenkins allows users to authenticate via multiple mechanisms, including an
      automatically generated API token. Despite the name, the API token provides
      users with a fully authenticated session (the same as if the user had logged in
      using a password).

      In many common usage scenarios, a user may never require an API token. For
      example, a user who exclusively accesses Jenkins via the web-based UI will never
      use an API token. Although probably less common, a user who exclusively
      utilizes the SSH-based Jenkins CLI will also never use an API token.

      In scenarios such as these, the existence of an active API token serves no
      purpose to the user and represents a weakness in that it broadens the overall
      attack surface. For this reason, API tokens should not be generated for users
      unless they explicitly request a token. Furthermore, individual users should
      have the ability to remove/disable existing API tokens. Lastly, Jenkins
      administrators should be able to remove a user's API token (e.g. if the token
      has been compromised) and disable the usage of API tokens system-wide.


            wfollonier Wadeck Follonier
            crlorent Craig Lorentzen
            2 Vote for this issue
            5 Start watching this issue