| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
update: 更新文件 ge_external_dynamic_loader.cpp Signed-off-by: Startidal001 <18795137338@163.com> | 5 天前 | |
fix(security): remove unused GEX marshalling with IPC validation gaps The DotMatrixShaderParams and GEXComplexShaderParams Marshalling/Unmarshalling methods in src/ext/gex_marshalling_helper.cpp were flagged for input-validation defects on the app->render-service Parcel boundary (CWE-20): - DotMatrixShaderParams::Unmarshalling casts ReadUint32 to DotMatrixEffectType with no range check, falling through on out-of-range values and desyncing the Parcel cursor. - GEXComplexShaderParams::Unmarshalling validates typeVal but assigns type_ from a separate unvalidated read, plus the wire format mismatches Marshalling (writes one uint32, reads two), always desyncing on round-trip. Reachability audit confirmed these methods are dead code: - graphic_2d constructs GEXComplexShaderParams{type, params} directly and passes it to GEXComplexShader::CreateDynamicImpl; it never calls these Marshalling/Unmarshalling methods. graphic_2d's RSComplexShader has its own Marshalling/Unmarshalling that writes only the shaderType uint32. - DotMatrixShaderParams (and nested RotateEffectParams/RippleEffectParams/ DotMatrixNormalParams Marshalling/Unmarshalling) had no callers outside the helper .cpp and the removed unit tests. Removed the unused method declarations, implementations, the gex_dot_matrix_shader_params_test.cpp unit test, and the corresponding BUILD.gn entry. GEXFlowLightSweepParams marshalling is retained (out of scope of the two findings). GEXComplexShaderParams/DotMatrixShaderParams struct definitions remain in use by CreateDynamicImpl/dlopen ABI. Verified: hb build graphics_effect -i and hb build graphics_effect -t both succeed. Signed-off-by: key-destiny <luojianqi@huawei.com> Co-Authored-By: Agent Change-Id: I67123472601ca5f146922bb0b54d924b1d6e3b25 | 11 天前 |
| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
| 5 天前 | ||
| 11 天前 |