🇰🇷 한글 설명
FOSSBilling 0.6.21부터 0.7.2 버전에서 지원 티켓 생성 워크플로우를 통한 IDOR 취약점이 발견되었습니다. 인증된 클라이언트가 rel_id 값을 조작하여 자신이 소유하지 않은 다른 클라이언트의 주문과 연결된 지원 티켓을 생성할 수 있습니다. 이로 인해 관리자가 잘못된 주문에 대해 취소나 업그레이드 등의 조치를 취하게 유도할 수 있어 데이터 무결성과 기밀성에 영향을 미칩니다.
💡 쉬운 설명
로그인한 사용자가 요청 값을 살짝 바꿔서 다른 사람의 주문 내역에 자신의 문의 사항을 연결할 수 있는 문제입니다. 이로 인해 관리자가 엉뚱한 고객의 주문을 취소하거나 변경하는 실수를 유발할 수 있습니다.
🇺🇸 원문 (English)
FOSSBilling is a billing and client management system that automates invoicing, payments, and communication for online service businesses. Versions 0.6.21 through 0.7.2 are vulnerable to IDOR through the support ticket creation workflow. By manipulating rel_id when rel_type=order, an authenticated client can create a support ticket that references another client's order they do not own. The ticketCreateForClient() method accepted rel_id without verifying order ownership for non-upgrade tasks, allowing clients to link a new ticket to another client's order by crafting the request. No cron task automatically processes cancel/upgrade requests from ticket relations; staff action is required. This affects integrity and confidentiality: staff could be misled into acting on the wrong order (e.g., cancellation or upgrade requests). While there is no client-to-client order data exposure, order IDs may appear in ticket context. This issue has been fixed in version 0.8.0.
📍 영향받는 시스템
FOSSBilling versions 0.6.21 through 0.7.2
⚔️ 공격 벡터
인증된 클라이언트가 티켓 생성 요청 시 rel_id 값을 조작하여 타인의 주문 ID를 입력함
🛡️ 대응 방법
FOSSBilling을 최신 보안 패치가 적용된 버전 0.8.0 이상으로 업데이트하십시오.
🔧 검증 코드
출력된 버전이 0.8.0 미만(0.6.21 ~ 0.7.2 사이)이면 취약한 상태입니다.
php -r "echo 'FOSSBilling version: ' . (file_exists('version.php') ? include('version.php') : 'unknown');"