已关闭
[Requirement|需求建议]: #361
xiachanglin创建于 4月13日关闭于 4月27日
4月13日 添加了label:requirement
4月13日 修改了issue 的描述
xiachanglin
4月13日 评论:
4月13日 评论:
/assign @xiachanglin


4月13日 将 xiachanglin 设为负责人
xiachanglin
4月27日 评论:
4月27日 评论:
代码已合入


4月27日 issue状态由 进行中 改变为 已完成
4月27日 关闭了 issue
4月27日 添加了label:resolved
Thanks for sending an requirement! Please fill in the following template to help quickly solve your problem.
Backgroud(背景信息)
当前Stream / Event / Notify / CountNotify 四类资源没有统一 UAF 防护机制。句柄作为 void* 在 API 与内部实现层之间透传,缺乏一致的资源类型校验和生命周期失效控制,主要风险如下:
资源类型混传(例如将 event 句柄传入 stream 接口)无法稳定早期拦截。
销毁后旧句柄仍可能进入后续调用,行为不可预测。
并发场景(线程 A 使用,线程 B 销毁)下易产生随机异常。
失败形态不稳定(错误码漂移或 coredump),定位成本高。
本次改造是四类资源 UAF 防护的首次统一落地,核心目标是把句柄安全从“无防护”升级为“可校验、可失效、可诊断”
Origin(信息来源)
RTS内部
Benefit / Necessity (价值/作用)
建立四类资源统一句柄治理基线。
将错类型句柄、伪句柄问题前移到入口校验阶段。
将“随机成功/随机崩溃”收敛为“可解释失败”。
降低维护复杂度(统一规则优于多套历史路径并存)。
为后续其他资源类型接入 UAF 提供可复用模板。
Design(设计方案)
范围:仅覆盖 Stream/Event/Notify/CountNotify。
模型:资源对象内嵌 rtInnerObject,API 返回内嵌 handle。
规则:创建后初始化 handle,入参统一 RT_GET_AND_VALIDATE_OBJECT 校验,析构起始失效 handle。
Stream 特殊项:宏第 4 参严格按默认流语义传递。
UT 配套:仅适配“handle 被当真实对象使用”场景。
边界:不引入句柄池/代际号/延迟回收。