已开启
安全整改:问题单3 缓冲区与内存安全 5 项 + 问题单6 确认真实缺陷 6 条(SM/DTAP/DIS/RSS) #311
wuyike创建于 7 天前
安全整改:问题单3 缓冲区与内存安全 5 项 + 问题单6 确认真实缺陷 6 条(SM/DTAP/DIS/RSS) #311
已开启
合并受阻
7 天前 添加了label:waiting_on_author
openharmony_ci
7 天前 评论:
7 天前 评论:
感谢提交 Pull Requests !此PR未通过DCO校验。
校验失败可能原因:
1. 未签署“DCO协议”(开发者原创声明协议),在线签署、查看签署状态。
2. Commits 中未包含 Signed-off-by信息,参考FAQ处理。
修复上述问题后,在PR的评论框输入“check dco” ,单击”评论”,系统将再次进行DCO校验。
当前检测到如下Commits 未包含Signed-off-by信息:
Thanks for submitting a pull request. This pull request has not passed the DCO check.
Possible causes:
1. You have not signed the Developer Certificate of Origin (DCO). Sign the DCO and check DCO status.
2. The commits do not contain the Signed-off-by information. To resolve this issue, see FAQs.
After resolving the preceding issues, enter check dco in the comment box of this pull request and click Comment. The system will check DCO status again.
The following commits do not contain the Signed-off-by information:


7 天前 添加了label:dco检查失败
此处折叠了20条事件消息 查看更多
安全整改:问题单3(缓冲区与内存安全 5 项)+ 问题单6(确认真实未修复缺陷 6 条)
第一批|问题单3《缓冲区与内存安全》:对总账 18 条基于 master(3cad27e)逐条复核,确认仍存在并修复 5 条;其余 13 条:8 条已被上游修复覆盖(f549848 / 7b388fc / 91b4439 / sptr 改造)、2 条复核不成立、1 条低危残留不动、1 条(问题44 McpServerServiceManager 裸 new)经维护者澄清为既定所有权设计已撤销(revert 3bf3817)、1 条(问题49 SM 随机数静默失败)确认真实移交独立 issue #270 专人修复(revert 3b475b2)。
第二批|问题单6《确认真实未修复缺陷》:问题单5(35 条)经 2026-10-20 对 master(aa9b4c5c,本 PR 已合入该基线)逐行复核后的净剩 9 条,修复 6 条(高危 x1、中危 x2、低危 x3);3 条按维护者决策不修改(问题2 EDM 禁止列表反转——fail-closed 过度阻断非越权;问题5 DLI 扩展包装器 return 0——开闭源解耦既定设计;问题6 HidHostSetReport IPC 字段数不匹配——功能缺陷非安全问题)。问题3/4 同代码点一次提交双编号关闭。
本 PR 净改动 11 文件 +59/-16。
第一批修复清单(问题单3,5 项)
TwsSharedLibApi.cppuint16_t encodeLen = sizeof(TwsEncodeMsg) + serviceDataLen_大长度回绕小分配后大拷贝;补≤ UINT16_MAX − sizeof(头)前置校验nlstk_devd_api.cscanRspDataLen无上界;补与广播数据对称的DEFAULT_MAX_ADV_DATA_LEN上界devd_scan_manager.cReportCbk在g_scanStm==NULL早退路径泄漏报告(DLI 事件线程与栈反初始化竞态窗口,NULL 检查为原代码既有);补FreeAdvResultdli_layer.ctimeoutCallback==NULL路径节点泄漏;补DLI_CmdNodeDestroydtap_scheduler.c第二批修复清单(问题单6,6 条 / 5 代码点)
sm_nego.ccodeAlgoCap未与本地协商值比对即被对端覆盖(算法降级/零密钥材料/下溢 0xFF 送底层);补 memcmp 校验,不一致按既有 SM_INTERNAL_ERROR 终止nearlink_device_manager.cppstd::random_device(对齐仓内 SleUtils 写法)——双编号一次关闭dtap_trans_stream.cSDF_DListLast哨兵强转读相邻内存污染maxExpectedSeq(安全宏空表非 NULL,判空失效);补SDF_DListIsEmpty判空 +DTAP_GetNextFrameSeq回绕安全dis_server.cret +=累加被最后一步覆盖,前序 malloc 失败被吞仍返回 SUCCESS;改每步判错即返(调用方已有失败清理)nearlink_freeze_utils.cpp+ssap_client_service.cpp不修与移交说明
验证情况(如实标注)
Closes #262