CVE-2026-54518:
Java 취약성 분석 및 완화
개요
CVE-2026-54518 is a @JsonView authorization bypass vulnerability in FasterXML's jackson-databind library, allowing unauthenticated remote attackers to populate view-restricted constructor parameters from untrusted JSON input. The flaw affects com.fasterxml.jackson.core:jackson-databind versions >= 2.21.0 and < 2.21.4, and tools.jackson.core:jackson-databind versions >= 3.0.0 and < 3.1.4. It was discovered by Omkhar Arasaratnam and publicly disclosed via GitHub Security Advisory on June 23, 2026. The vulnerability carries a CVSS v3.1 base score of 6.5 (Medium) (GitHub Advisory).
기술적 세부 사항
The root cause is an incorrect authorization check (CWE-863) in UnwrappedPropertyHandler.processUnwrappedCreatorProperties(). This method replays buffered JSON tokens into constructor (creator) parameters but never calls prop.visibleInView(activeView) to verify whether each property is permitted under the currently active @JsonView. The normal property-based deserialization path correctly gates creator properties on the active view, but the unwrapped-creator replay path skips this check entirely. As a result, a constructor parameter annotated with both @JsonView(AdminView.class) and @JsonUnwrapped is populated from attacker-supplied JSON even when a less-privileged view (e.g., PublicView) is active. The fix, applied in commits 721fa07 (2.21 branch) and d633bc0 (3.x branch), adds a visibleInView check at the top of the loop iterating over _creatorProperties (GitHub Advisory, Fix PR #5971).
영향
Successful exploitation allows an unauthenticated network attacker to set view-restricted (e.g., admin-only) constructor parameters on deserialized objects, bypassing the application's write-side authorization boundary enforced by @JsonView. This can lead to unauthorized modification of sensitive object state (integrity impact) and potential exposure of data that should be inaccessible to lower-privileged users (confidentiality impact). Availability is not directly affected. The practical severity depends on how the application uses @JsonView as an access-control mechanism; applications relying on it to prevent unprivileged users from setting privileged fields are most at risk (GitHub Advisory).
착취 단계
- Identify a vulnerable target: Locate a Java application using jackson-databind 2.21.0–2.21.3 or 3.0.0–3.1.3 that deserializes JSON with an active
@JsonViewand has a@JsonCreatorconstructor containing a parameter annotated with both@JsonView(AdminView.class)and@JsonUnwrapped. - Craft a malicious JSON payload: Construct a JSON object that includes fields corresponding to the admin-restricted
@JsonUnwrappedparameter (e.g.,{"name":"alice","street":"attacker-controlled","city":"Springfield"}). - Submit the payload under a restricted view context: Send the crafted JSON to the application endpoint that deserializes using a less-privileged view (e.g.,
PublicView). The application would typically restrict admin fields in this context. - Bypass view enforcement: Due to the missing
visibleInViewcheck inprocessUnwrappedCreatorProperties(), the admin-restricted constructor parameter is populated from the attacker's JSON despite the activePublicView, effectively setting privileged object state without authorization (GitHub Advisory, Fix PR #5971).
완화 및 해결 방법
Upgrade to the patched versions of jackson-databind: 2.21.4 (for the 2.x line) or 3.1.4 (for the 3.x line). A backport to 2.18.8 was also released for users on the 2.18 branch. No configuration-based workaround is available; the only remediation is upgrading to a fixed version. Applications that do not use @JsonView as a write-side security boundary are not functionally impacted, but upgrading is still recommended (GitHub Advisory, Fix PR #5971, Backport PR #5973).
커뮤니티 반응
The vulnerability was rated "minor" by the jackson-databind maintainer (cowtowncoder) but "HIGH" by the reporter (Omkhar Arasaratnam), reflecting differing assessments of the real-world impact depending on how @JsonView is used as a security control. The Apache Spark project promptly opened a PR to upgrade to jackson-databind 2.21.4 in response to this and related fixes (Fix PR #5971). Social media activity was limited to automated CVE tracking accounts on Bluesky shortly after disclosure.
추가 자료
근원: 이 보고서는 AI를 사용하여 생성되었습니다.
관련 Java 취약점:
무료 취약성 평가
클라우드 보안 태세를 벤치마킹합니다
9개의 보안 도메인에서 클라우드 보안 관행을 평가하여 위험 수준을 벤치마킹하고 방어의 허점을 식별합니다.
추가 Wiz 리소스
맞춤형 데모 받기
맞춤형 데모 신청하기
"내가 본 최고의 사용자 경험은 클라우드 워크로드에 대한 완전한 가시성을 제공합니다."
"Wiz는 클라우드 환경에서 무슨 일이 일어나고 있는지 볼 수 있는 단일 창을 제공합니다."
"우리는 Wiz가 무언가를 중요한 것으로 식별하면 실제로 중요하다는 것을 알고 있습니다."