Skip to content

An authorized attacker can get sensitive information in playbook files when playbook_id is leaked

Moderate
ibuler published GHSA-7mqc-23hr-cr62 Mar 29, 2024

Package

jumpserver

Affected versions

v3.0.0-v3.10.5

Patched versions

v3.10.6

Description

Impact

An authorized attacker can obtain sensitive information contained within playbook files if they manage to learn the playbook_id of another user. This breach of confidentiality can lead to information disclosure and exposing sensitive data.

Details

The vulnerability arises from insecure access control mechanisms within a system, where users with default roles and permissions can access other users' playbook files if they know the specific playbook_id. The steps to reproduce the vulnerability are as follows:

  • Create two users A and B, both with the system role set to 'User'
  • As user B, on 'Workbench - Job - Template' page to create a playbook name test containing a main.yml file with any desired data
  • Acquire the playbook ID of user B's playbook. For illustration, let's say the playbook ID is "9e178fbb-47ea-470e-9086-f7f1aa8c3d67"
  • Acting as user A, make query using the obtained playbook ID to access and retrieve the contents of user B's playbook file

Patches

Safe versions: >= v3.10.6

Workarounds

It is recommended to upgrade the safe versions.

After the upgrade, the user A could not access the user B's playbook file

References

Thanks for @ilyazavyalov report this issue

Severity

Moderate
4.6
/ 10

CVSS base metrics

Attack vector
Network
Attack complexity
High
Privileges required
Low
User interaction
Required
Scope
Unchanged
Confidentiality
Low
Integrity
Low
Availability
Low
CVSS:3.1/AV:N/AC:H/PR:L/UI:R/S:U/C:L/I:L/A:L

CVE ID

CVE-2024-29020

Weaknesses

No CWEs

Credits