🇰🇷 한글 설명
Marshmallow는 Python 객체를 간단한 데이터 타입으로 변환하는 라이브러리로, 3.26.2 미만 및 4.1.2 미만 버전의 Schema.load(data, many=True) 메서드에서 DoS 취약점이 발견되었습니다. 적당한 크기의 요청이 과도한 CPU 시간을 소비하여 서비스 거부를 야기할 수 있습니다.
💡 쉬운 설명
Marshmallow 라이브러리의 데이터 처리 기능에 문제가 있어 공격자가 특정 데이터를 보내 서버를 느리게 만들 수 있습니다. 정상적인 사용자가 서비스를 사용할 수 없게 되는 문제가 발생합니다.
🇺🇸 원문 (English)
Marshmallow is a lightweight library for converting complex objects to and from simple Python datatypes. In versions from 3.0.0rc1 to before 3.26.2 and from 4.0.0 to before 4.1.2, Schema.load(data, many=True) is vulnerable to denial of service attacks. A moderately sized request can consume a disproportionate amount of CPU time. This issue has been patched in version 3.26.2 and 4.1.2.
📍 영향받는 시스템
Marshmallow 3.0.0rc1~3.26.1, 4.0.0~4.1.1
⚔️ 공격 벡터
Schema.load(data, many=True) 호출 시 악의적으로 구성된 데이터를 입력하여 과도한 CPU 소비 유발
🛡️ 대응 방법
Marshmallow를 3.26.2 또는 4.1.2 이상으로 업그레이드 (pip install --upgrade marshmallow)
🔧 검증 코드
출력 버전이 3.26.2 이상 또는 4.1.2 이상이면 취약점이 패치된 상태
python -c "import marshmallow; print(marshmallow.__version__)"