WebKit Bugzilla
New
Browse
Search+
Log In
×
Sign in with GitHub
or
Remember my login
Create Account
·
Forgot Password
Forgotten password account recovery
RESOLVED FIXED
302379
[WebKit][Main] [ef80f3f18e6df299] ASAN_SEGV | WebCore::RenderView::zoomFactor; WebCore::Style::adjustValueForPageZoom; WebCore::Style::computeNonCalcLengthDouble
https://bugs.webkit.org/show_bug.cgi?id=302379
Summary
[WebKit][Main] [ef80f3f18e6df299] ASAN_SEGV | WebCore::RenderView::zoomFactor...
Kristian Monsen
Reported
2025-11-11 21:49:16 PST
Created
attachment 477374
[details]
testcase <
rdar://164426979
> The attached testcase (fuzz-4.html) crashes a Release ASan build of WebKit Found by fuzzer WebKitTestRunner-h-case This crash was seen 6 times during the past 7 days. Reproduced on: WebKit main @
302777@main
Does not reproduce on the SU branch Reproduction Command: DYLD_FRAMEWORK_PATH=$PWD DYLD_LIBRARY_PATH=$PWD __XPC_DYLD_FRAMEWORK_PATH=$PWD __XPC_DYLD_LIBRARY_PATH=$PWD ASAN_OPTIONS=handle_segv=2,handle_sigbus=2,handle_sigill=2,handle_abort=2,handle_sigtrap=2,allocator_may_return_null=1 __XPC_ASAN_OPTIONS=handle_segv=2,handle_sigbus=2,handle_sigill=2,handle_abort=2,handle_sigtrap=2,allocator_may_return_null=1 ./WebKitTestRunner --no-enable-all-experimental-feature --no-timeout fuzz-4.html fuzz-4.html Crash Log: AddressSanitizer:DEADLYSIGNAL ================================================================= ==53626==ERROR: AddressSanitizer: SEGV on unknown address 0x000000000110 (pc 0x00030c3feac4 bp 0x00016d5f8ad0 sp 0x00016d5f8ac0 T0) ==53626==The signal is caused by a READ memory access. ==53626==Hint: address points to the zero page. #0 0x00030c3feac4 in WebCore::RenderView::zoomFactor() const+0x3c (WebCore:arm64e+0xc3feac4) #1 0x00030cd2ead4 in WebCore::Style::adjustValueForPageZoom(double, WebCore::CSSToLengthConversionData const&)+0x11c (WebCore:arm64e+0xcd2ead4) #2 0x00030cd2d7f4 in WebCore::Style::computeNonCalcLengthDouble(double, WebCore::CSS::LengthUnit, WebCore::CSSToLengthConversionData const&)+0x4f8 (WebCore:arm64e+0xcd2d7f4) #3 0x00030cd2d170 in WebCore::Style::computeCanonicalNonCalcLengthDouble(double, WebCore::CSS::LengthUnit, WebCore::CSSToLengthConversionData const&)+0x38 (WebCore:arm64e+0xcd2d170) #4 0x000307c26530 in WebCore::CSSCalc::canonicalize(WebCore::CSSCalc::NonCanonicalDimension, std::__1::optional<WebCore::CSSToLengthConversionData> const&)+0xf8 (WebCore:arm64e+0x7c26530) #5 0x000307c7448c in WebCore::CSSCalc::evaluate(WebCore::CSSCalc::NonCanonicalDimension const&, WebCore::CSSCalc::EvaluationOptions const&)+0x58 (WebCore:arm64e+0x7c7448c) #6 0x000307c17d00 in WebCore::CSSCalc::evaluate(WebCore::CSSCalc::Child const&, WebCore::CSSCalc::EvaluationOptions const&)+0x194 (WebCore:arm64e+0x7c17d00) #7 0x000307c74720 in double WebCore::CSSCalc::OperatorExecutor<(WebCore::CSSCalc::Operator)43>::operator()<std::__1::ranges::transform_view[abi:llvm18_nua]<std::__1::ranges::ref_view<WTF::Vector<WebCore::CSSCalc::Child, 0ul, WTF::CrashOnOverflow, 16ul, WTF::FastMalloc> const>, std::__1::optional<double> WebCore::CSSCalc::executeVariadicMathOperationAfterUnwrapping<WebCore::CSSCalc::Sum>(WebCore::CSSCalc::IndirectNode<WebCore::CSSCalc::Sum> const&, WebCore::CSSCalc::EvaluationOptions const&)::'lambda'(WebCore::CSSCalc::Sum const&)>>(WebCore::CSSCalc::Sum&&)+0xcc (WebCore:arm64e+0x7c74720) #8 0x000307c745d0 in std::__1::optional<double> WebCore::CSSCalc::executeVariadicMathOperationAfterUnwrapping<WebCore::CSSCalc::Sum>(WebCore::CSSCalc::IndirectNode<WebCore::CSSCalc::Sum> const&, WebCore::CSSCalc::EvaluationOptions const&)+0xc0 (WebCore:arm64e+0x7c745d0) #9 0x000307c17db8 in WebCore::CSSCalc::evaluate(WebCore::CSSCalc::Child const&, WebCore::CSSCalc::EvaluationOptions const&)+0x24c (WebCore:arm64e+0x7c17db8) #10 0x000307c17b5c in WebCore::CSSCalc::evaluateDouble(WebCore::CSSCalc::Tree const&, WebCore::CSSCalc::EvaluationOptions const&)+0x1c (WebCore:arm64e+0x7c17b5c) #11 0x000307d35580 in WebCore::CSSCalc::Value::computeLengthPx(WebCore::CSSToLengthConversionData const&, WebCore::CSSCalcSymbolTable const&) const+0x120 (WebCore:arm64e+0x7d35580) #12 0x000307a2d90c in float WebCore::CSSPrimitiveValue::resolveAsLength<float>(WebCore::CSSToLengthConversionData const&) const+0x40c (WebCore:arm64e+0x7a2d90c) #13 0x000305127154 in WebCore::Style::CSSValueConversion<WebCore::Style::Length<WebCore::CSS::Range{0x0p+0, inf, (WebCore::CSS::RangeClampOptions)0, (WebCore::CSS::RangeZoomOptions)1}, float>>::operator()(WebCore::Style::BuilderState&, WebCore::CSSValue const&)+0x17c (WebCore:arm64e+0x5127154) #14 0x00030cb7e768 in WebCore::Style::CSSValueConversion<WebCore::Style::LineWidth>::operator()(WebCore::Style::BuilderState&, WebCore::CSSValue const&)+0x194 (WebCore:arm64e+0xcb7e768) #15 0x000304e9a2c8 in WebCore::Style::BuilderGenerated::applyProperty(WebCore::CSSPropertyID, WebCore::Style::BuilderState&, WebCore::CSSValue&, WebCore::Style::ApplyValueType)+0x32dc (WebCore:arm64e+0x4e9a2c8) #16 0x00030c98a6cc in WebCore::Style::Builder::applyProperty(WebCore::CSSPropertyID, WebCore::CSSValue&, WebCore::SelectorChecker::LinkMatchMask, WebCore::Style::PropertyCascade::Origin)+0x3ec (WebCore:arm64e+0xc98a6cc) Reproducibility: Original testcase: 4/6 (66.7%) - Average time: 3.80s Minimized testcase: 29/53 (54.7%) - Average time: 1.19s ------------------------------------- Fuzz-0 Triage: P2. Based on: ----------------- P2 ----------------- NULL pointer derefs (RELEASE_)ASSERTs in the WebContent Process --------------------------------------
Attachments
testcase
(265.66 KB, text/html)
2025-11-11 21:49 PST
,
Kristian Monsen
no flags
Details
reduced
(4.82 KB, text/html)
2025-11-11 21:49 PST
,
Kristian Monsen
no flags
Details
View All
Add attachment
proposed patch, testcase, etc.
Kristian Monsen
Comment 1
2025-11-11 21:49:31 PST
Created
attachment 477375
[details]
reduced
Rob Buis
Comment 2
2025-11-14 11:25:52 PST
Pull request:
https://github.com/WebKit/WebKit-security/pull/151
Rob Buis
Comment 3
2025-11-17 06:03:57 PST
Pull request:
https://github.com/WebKit/WebKit-security/pull/152
Kristian Monsen
Comment 4
2025-12-11 13:12:38 PST
Pull request:
https://github.com/WebKit/WebKit/pull/55269
EWS
Comment 5
2025-12-11 14:04:34 PST
Committed
304319@main
(43662ccbd5af): <
https://commits.webkit.org/304319@main
> Reviewed commits have been landed. Closing PR #55269 and removing active labels.
Note
You need to
log in
before you can comment on or make changes to this bug.
Top of Page
Format For Printing
XML
Clone This Bug