🇰🇷 한글 설명
Moonraker는 Klipper 3D 프린팅 펌웨어에 대한 API 액세스를 제공하는 Python 웹 서버입니다. 0.9.3 버전 및 이전 버전에서 'ldap' 구성 요소를 활성화한 인스턴스는 로그인 엔드포인트를 통해 LDAP 검색 필터.inject 기술에 취약합니다. 401 오류 응답 메시지를 사용하여 검색이 성공했는지 여부를 확인할 수 있으며, 이는 LDAP 서버上的 사용자 ID 및 사용자 속성과 같은 LDAP 항목을 발견하기 위한 무차별 대입 방법을 허용합니다. 이 문제는 버전 0.10.0에서 해결되었습니다.
💡 쉬운 설명
Moonraker의 LDAP 구성 요소가 활성화된 경우, 공격자는 로그인 엔드포인트를 통해 LDAP 서버의 사용자 정보를 추측할 수 있습니다. 이는 사용자 인증 정보를 노출시키고, 시스템의 보안을 위협할 수 있습니다. Moonraker 버전 0.10.0으로 업데이트하면 이 취약점을 해결할 수 있습니다.
🇺🇸 원문 (English)
Moonraker is a Python web server providing API access to Klipper 3D printing firmware. In versions 0.9.3 and below, instances configured with the "ldap" component enabled are vulnerable to LDAP search filter injection techniques via the login endpoint. The 401 error response message can be used to determine whether or not a search was successful, allowing for brute force methods to discover LDAP entries on the server such as user IDs and user attributes. This issue has been fixed in version 0.10.0.
📍 영향받는 시스템
Moonraker 0.9.3 및 이전 버전, LDAP 구성 요소가 활성화된 시스템
⚔️ 공격 벡터
로그인 엔드포인트를 통해 LDAP 검색 필터.inject
🛡️ 대응 방법
Moonraker 버전 0.10.0으로 업데이트하고, LDAP 구성 요소를 비활성화합니다.
🔧 검증 코드
이 코드는 로컬 시스템의 Moonraker 버전을 확인하여 취약점 여부를 판단합니다. Python 3.x와 pip가 설치된 환경에서 실행할 수 있습니다. 코드를 실행하기 전에, pip를 사용하여 Moonraker를 설치해야 합니다. 코드 실행 결과는 JSON 형식으로 출력됩니다.
import subprocess
result = subprocess.run(['pip', 'show', 'moonraker'], capture_output=True, text=True)
if 'Version: 0.9.3' in result.stdout or 'Version: 0.9.2' in result.stdout:
print({"result": "취약", "reason": "Moonraker 버전이 0.9.3 또는 이전입니다."})
else:
print({"result": "양호", "reason": "Moonraker 버전이 0.10.0 또는 이후입니다."})