当前位置: 首页 > news >正文

开放原子开源基金会网站上的开源项目Opns存在缓冲区溢出缺陷

最近在开放原子开源基金会网站上,看到一些开源项目,之前分析出华为的鸿蒙操作系统代码,没有发现有价值的安全漏洞。现在,下载上面的Onps开源网络协议栈,既然是通讯所使用的软件,其质量应该值得信任呢?下载源代码分析看看

Opns开源网络协议栈是完全自研、百分百原创的tcp/ip协议栈。代码主要是C语言和C++语言,总共115个文件,34490行。可执行代码行25473行,空行4334行,代码注释率16.10%,有两块代码具有重复块。

经过检测,发现里面多处存在数组越界问题,这些数组越界会导致缓冲区溢出,有可能会被恶意攻击者所利用。下面我拿出其中一处问题进行简单分析。

这个数组越界的触发点在pppd.cpp文件的1603行,第(1603)行数组[l_staIPCPNegoHandler]下标[i]的值可能是[10],超出了数组[l_staIPCPNegoHandler]的定义范围。

那我们分析这个缺陷产生的源在哪里?首先查看l_staIPCPNegoHandler数组是哪里定义的,是否有长度限制。经过分析,找到在当前文件的302行,定义该数组,该数组长度是一个宏 IPCPCODE_NUM,向上看296行定义了该宏的值为5 ,所以l_staIPCPNegoHandler数组声明时长度是5。

而在1603行和1604行都使用了该数组,数组下标是取的for循环中变量i,i在是for语句中由初值0递增,递增的边界为CPCODE_NUM,该宏是在88行声明的。

则i的最大值为10,所以导致超过l_staIPCPNegoHandler数组的最大下标4,导致数组越界,产生缓冲区溢出。如果该数组中的数据可以注入,则会导致难以预料的问题。

因为该软件为通讯协议栈,代码中的这类缺陷会带给软件不可预料的风险。

希望国内的开源软件注重软件质量。

(结束)

相关文章:

  • 设计模式之模版方法模式
  • 【Linux系列】CMA (Contiguous Memory Allocator) 简单介绍
  • 【QT Quick】基础语法:基础类与控件
  • 【分页】Spring Boot 列表分页 + javaScript前台展示
  • 程序员如何提升并保持核心竞争力?——深入钻研、广泛学习与软技能的培养
  • Grafana链接iframe嵌入Web前端一直跳登录页面的问题记录
  • python自动更新chromedriver
  • swiper+fixed的错误,splice函数的使用,提取年月日substring
  • [每日一练]利用自连接实现数量查询
  • MySQL | excel数据输出insert语句
  • 第167天:应急响应-日志自动提取分析项目_ELK_Logkit_LogonTracer_Anolog等
  • 力扣随机一题——所有元音按顺序排序的最长字符串
  • 数据驱动农业——助力作物增产
  • 新书推荐——《Python贝叶斯深度学习》
  • 基于php的民宿预订管理系统
  • github从入门到放弃(1)
  • HTTP 简介
  • JAVA_NIO系列——Channel和Buffer详解
  • Java反射-动态类加载和重新加载
  • Objective-C 中关联引用的概念
  • Redis提升并发能力 | 从0开始构建SpringCloud微服务(2)
  • weex踩坑之旅第一弹 ~ 搭建具有入口文件的weex脚手架
  • 简单基于spring的redis配置(单机和集群模式)
  • 利用阿里云 OSS 搭建私有 Docker 仓库
  • 三栏布局总结
  • 说说动画卡顿的解决方案
  • 算法-图和图算法
  • 提醒我喝水chrome插件开发指南
  • 小程序01:wepy框架整合iview webapp UI
  • 阿里云IoT边缘计算助力企业零改造实现远程运维 ...
  • 东超科技获得千万级Pre-A轮融资,投资方为中科创星 ...
  • 扩展资源服务器解决oauth2 性能瓶颈
  • 小白应该如何快速入门阿里云服务器,新手使用ECS的方法 ...
  • # Kafka_深入探秘者(2):kafka 生产者
  • ###STL(标准模板库)
  • #git 撤消对文件的更改
  • #LLM入门|Prompt#1.7_文本拓展_Expanding
  • #php的pecl工具#
  • #我与虚拟机的故事#连载20:周志明虚拟机第 3 版:到底值不值得买?
  • (~_~)
  • (39)STM32——FLASH闪存
  • (ibm)Java 语言的 XPath API
  • (ISPRS,2021)具有遥感知识图谱的鲁棒深度对齐网络用于零样本和广义零样本遥感图像场景分类
  • (ZT) 理解系统底层的概念是多么重要(by趋势科技邹飞)
  • (第9篇)大数据的的超级应用——数据挖掘-推荐系统
  • (附源码)ssm高校实验室 毕业设计 800008
  • (附源码)计算机毕业设计SSM保险客户管理系统
  • (回溯) LeetCode 77. 组合
  • (转)Google的Objective-C编码规范
  • **登录+JWT+异常处理+拦截器+ThreadLocal-开发思想与代码实现**
  • *ST京蓝入股力合节能 着力绿色智慧城市服务
  • .CSS-hover 的解释
  • .htaccess配置常用技巧
  • .NET 5.0正式发布,有什么功能特性(翻译)
  • .NET CORE Aws S3 使用