已关闭
tftpc.c存在缓冲区越界读写 #1086
yang-pangyuan创建于 6月16日关闭于 6月16日
openharmony_ci
6月16日 评论:
6月16日 评论:
感谢提交Issue!关于Issue的交互操作,请访问OpenHarmony社区支持命令清单。如果有问题,请联系 [@JerryH1011](https://gitcode.com/JerryH1011) [@LeonChan525](https://gitcode.com/LeonChan525) [@zhu-sheng-le](https://gitcode.com/zhu-sheng-le) 。如果需要调整订阅PR、Issue的变更状态,请访问链接。
Thanks for submitting the issue. For more commands, please visit OpenHarmony Command List. If you have any questions, please refer to committer gitcode for help. If you need to change the subscription of a Pull Request or Issue, please visit the link.


6月16日 添加了label:waiting_for_assign
6月16日 关闭了 issue
6月16日 issue状态由 待办的 改变为 已完成
6月16日 关联了pull request:tftpc.c存在缓冲区越界读写
6月16日 关联了pull request:tftpc.c存在缓冲区越界读写
6月16日 关联了pull request:tftpc.c存在缓冲区越界读写
6月16日 修改了issue 的描述
该问题是怎么引起的?
tftpc.c文件中存在缓冲区越界写入。问题出在1649行和1681行的memcpy_s调用处。这两处代码错误地将目标缓冲区的最大容量硬编码为TFTP_MAX_BLK_NUM乘TFTP_BLKSIZE,而没有使用调用者实际分配的缓冲区大小。1436行的ulFileLength参数仅用于表示期望读取或返回的文件长度,并非缓冲区容量限制。安全影响为内存破坏,严重程度为高危。触发条件为:当调用者为szDestMemAddr分配的缓冲区小于硬编码常量TFTP_MAX_BLK_NUM乘TFTP_BLKSIZE时,恶意TFTP服务器只需发送超过实际分配大小但不超过硬编码常量的数据,即可成功触发越界写入。
重现步骤
报错信息