使用广泛的开源PCB文件查看器 Gerbv 含多个严重漏洞

2023-11-10

65da216659cb276a0ab54fcf3c203ac5.gif 聚焦源代码安全,网罗国内外最新资讯!

编译:代码卫士

a57ecaef42f9a66122b4baefbd87d7e3.png

专栏·供应链安全

数字化时代,软件无处不在。软件如同社会中的“虚拟人”,已经成为支撑社会正常运转的最基本元素之一,软件的安全性问题也正在成为当今社会的根本性、基础性问题。

随着软件产业的快速发展,软件供应链也越发复杂多元,复杂的软件供应链会引入一系列的安全问题,导致信息系统的整体安全防护难度越来越大。近年来,针对软件供应链的安全攻击事件一直呈快速增长态势,造成的危害也越来越严重。

为此,我们推出“供应链安全”栏目。本栏目汇聚供应链安全资讯,分析供应链安全风险,提供缓解建议,为供应链安全保驾护航。

注:以往发布的部分供应链安全相关内容,请见文末“推荐阅读”部分。

0a0dda695515c74626e16cf994f62478.png

摘要

本周,思科Talos 安全团队的研究员发现了影响开源文件查看器Gerbv 的六个严重漏洞。

Gerbv 简介

b4c139db89f91f4a209cea295c4f14a2.png

7588459a2f481850327f23a449d7a1ca.png

Gerbv 是一款原生的 Linux 应用程序,用于很多常见的 UNIX 平台上。同时该平台也有Windows 版本。单在 SourceForge 平台上,Gerbv的下载量就超过100万次。

Gerbv 旨在查看显示电路板层的文件格式,包括Excellon 钻孔文件、RS-274X Gerber 文件和拾取和放置 (pick-n-place) 文件。Gerbv 可用作单独的应用或者用作库。

Talos 团队解释称,“一些PCB制造商在web接口使用Gerbv等软件,作为将 Gerber或其它受支持文件转换为图像的工具。用户可将 Gerber 文件上传到制造商网站,将图像转换为在浏览器中显示,方便用户验证所上传的文件和预期相符。”如此可导致攻击者在无需用户交互或提权的情况下通过网络触及该软件。

2个漏洞未修复

245882c0db33f03200c6a64603a2a4a8.png

97f644814316bb3bdd4ac6057b6b87e9.png

研究人员表示,所发现的6个漏洞影响Gerbv在打开 Gerber 文件时使用的函数。其中4个漏洞(CVE-2021-40391、CVE-2021-40393、CVE-2021-40394和CVE-2021-40401)的CVSS评分为10分。攻击者可通过将特殊构造文件上传到 Gerbv的方式利用这4个漏洞。这4个漏洞包括2个界外读漏洞、1个整数溢出漏洞和1个释放后使用漏洞,它们可被用于实现代码执行。

另外2个严重漏洞是CVE-2021-40400和CVE-2021-40402,它们可被用于泄露数据。攻击者可提供特殊构造的 Gerber 文件 利用这两个漏洞。

研究员还发现了一个中危的信息泄露漏洞(CVE-2021-40403),影响Gerbv的拾取和放置旋转解析功能。使用特殊构造的文件,攻击者就能泄露内存内容。

研究人员指出,4个漏洞(3个严重漏洞和1个中危漏洞)已修复。2个漏洞(CVE-2021-40400和CVE-2021-40402)在上报90天后仍未修复。

开源卫士试用地址:https://oss.qianxin.com

d68811af080d1d6c51217e6409333b3c.png


推荐阅读

在线阅读版:《2021中国软件供应链安全分析报告》全文

因供应商遭不明网络攻击,丰田汽车宣布停产

开源代码是下一轮攻击潮的重灾区

软件开发的三大关键安全趋势和最佳实践

谷歌宣布 Linux Kernel、Kubernetes 0day 漏洞奖励加倍

Apache Cassandra 开源数据库软件修复高危RCE漏洞

2021年软件供应链攻击数量激增300%+

热门开源CMS平台 Umbraco 中存在多个安全漏洞,可使账户遭接管

详细分析开源软件项目 Ajax.NET Professional 中的RCE 漏洞(CVE-2021-23758)

SAP 严重漏洞可导致供应链攻击

Apache PLC4X开发者向企业下最后通牒:如不提供资助将停止支持

Apache 软件基金会:顶级项目仍使用老旧软件,补丁作用被削弱

美国商务部发布软件物料清单 (SBOM) 的最小元素(上)

美国商务部发布软件物料清单 (SBOM) 的最小元素(中)

美国商务部发布软件物料清单 (SBOM) 的最小元素(下)

NIST 发布关于使用“行政令-关键软件”的安全措施指南

NIST 按行政令关于加强软件供应链安全的要求,给出“关键软件”的定义及所含11类软件

SolarWinds 攻击者再次发动供应链攻击

美国“加强软件供应链安全实践的指南” (SSDF V1.1草案) 解读来了

软件供应链安全现状分析与对策建议

“木马源”攻击影响多数编程语言的编译器,将在软件供应链攻击中发挥巨大作用

GitHub 在 “tar” 和 npm CLI 中发现7个高危的代码执行漏洞

流行的 NPM 包依赖关系中存在远程代码执行缺陷

速修复!热门npm 库 netmask 被曝严重的软件供应链漏洞,已存在9年

Npm 恶意包试图窃取 Discord 敏感信息和浏览器文件

微软“照片”应用Raw 格式图像编码器漏洞 (CVE-2021-24091)的技术分析

SolarWinds 供应链事件后,美国考虑实施软件安全评级和标准机制

找到软件供应链的薄弱链条

GitHub谈软件供应链安全及其重要性

揭秘新的供应链攻击:一研究员靠它成功入侵微软、苹果等 35 家科技公司

开源软件漏洞安全风险分析

开源OS FreeBSD 中 ftpd chroot 本地提权漏洞 (CVE-2020-7468) 的技术分析

集结30+漏洞 exploit,Gitpaste-12 蠕虫影响 Linux 和开源组件等

限时赠书|《软件供应链安全—源代码缺陷实例剖析》新书上市

热门开源CI/CD解决方案 GoCD 中曝极严重漏洞,可被用于接管服务器并执行任意代码

GitKraken漏洞可用于盗取源代码,四大代码托管平台撤销SSH密钥

因服务器配置不当,热门直播平台 Twitch 的125GB 数据和源代码被泄露

彪马PUMA源代码被盗,称客户数据不受影响

原文链接

https://www.securityweek.com/critical-vulnerabilities-impact-widely-used-printed-circuit-board-file-viewer

题图:Pixabay License

本文由奇安信编译,不代表奇安信观点。转载请注明“转自奇安信代码卫士 https://codesafe.qianxin.com”。

92862831f7de83cf49452b4e103a3abf.png

a392ddfcbcc865d7edcd8f61a3ed9894.png

奇安信代码卫士 (codesafe)

国内首个专注于软件开发安全的产品线。

   1660e1c087ae0b5d75d2d1bb75da1abe.gif 觉得不错,就点个 “在看” 或 "赞” 吧~

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用广泛的开源PCB文件查看器 Gerbv 含多个严重漏洞 的相关文章

  • Android Studio安装JDK错误

    In Android Studio I am facing bellow error 当我按下时会显示此弹出窗口Alt Enter对于缺少的类 符号 当我点击 setup SDK 时 它显示两个选项 1 8 Java版本 1 8 0 60
  • 在linux中将包含word的行从一个文件复制到另一个文件

    我想复制包含某些单词的行file1 to file2 Suppose file1 ram 100 ct 50 gopal 200 bc 40 ravi 50 ct 40 krishna 200 ct 100 file2应该只有包含 ct 的
  • 使用 spring mvc 的多个域

    假设我有一个应用程序必须缩短 URL 但还要执行其他操作 喜欢google com and goo gl or facebook com and fb me 部署两个应用程序很容易 但 目前 仅部署一个应用程序更简单 使用 spring 和
  • 从图像创建半透明光标

    是否可以从图像创建光标并使其半透明 我目前正在拍摄自定义图像并覆盖鼠标光标图像 如果我可以将其设为半透明 那就太好了 但不是必需的 销售人员喜欢闪亮的 目前正在做这样的事情 Image cursorImage customImage Get
  • 更改私有模块片段是否会导致模块重新编译?

    On 此页面有关 C 20 模块功能 https www modernescpp com index php c 20 modules private module fragment and header units 我发现了这样的说法 借
  • 如何删除 Spring 的 RestTemplate 添加的某些 HTTP 标头?

    我在远程服务方面遇到问题 我无法控制对使用 Spring 的 RestTemplate 发送的请求进行 HTTP 400 响应 使用发送的请求curl但被接受了 所以我将它们与通过 RestTemplate 发送的内容进行了比较 特别是 S
  • 选择活动时运行时崩溃

    首先我想说我几乎没有 Android 经验 这是我在 Android 中的第一个项目 而且我的老师不太擅长教学 所以我对任何过度的无知表示歉意 在进一步讨论之前先解释一下 我的应用程序的目标本质上是能够记录您在某些活动上花费了多少时间 记录
  • 嵌套异常是java.lang.NoClassDefFoundError:无法初始化类org.springframework.jdbc.support.SQLErrorCodesFactory

    我正在使用 spring 和 jdbctemplate 编写一个应用程序 但是我遇到了以下错误 org springframework web util NestedServletException Handler processing f
  • 如何在Windows窗体中打开进程

    我想在我的 Windows 窗体应用程序中打开进程 例如 我希望当用户按下 Windows 窗体容器之一中的按钮时 mstsc exe 将打开 如果他按下按钮 它将在另一个容器上打开 IE DllImport user32 dll SetL
  • Selenium 查看鼠标/指针

    有什么方法可以在运行测试时真正看到硒鼠标吗 要么是 Windows 光标图像 要么是某种点或十字线或任何东西 我正在尝试使用拖放功能selenium and java in an HTML5Web 应用程序 并且能够看到光标以了解它实际在做
  • 无法读取使用 DataOutputStream 发送的号码

    这是我的客户端代码 Random rand new Random int n rand nextInt 50 1 DataInputStream dis new DataInputStream socket getInputStream D
  • 从单应性估计 R/T

    我一直在尝试计算 2 个图像中的特征 然后将这些特征传递回CameraParams R没有运气 特征已成功计算并匹配 但是问题是将它们传递回R t 我明白你必须分解Homography为了使这一点成为可能 我已经使用如下方法完成了 http
  • Clang 5.0 上的 vsprintf 和 vsnprintf [-Wformat-nonliteral] 警告

    我有这段代码 static void err doit int errnoflag int level const char fmt va list ap int errno save unsigned long n char buf MA
  • 如何在 Hibernate 中使用 SELECT 进行 INSERT

    我需要在休眠中实现以下请求 insert into my table max column values select max id from special table where 如何在休眠中使用注释来做到这一点 Special tab
  • 如何防止 Lotus Notes 用户转发或复制通过 System.Net.Mail 发送的邮件?

    我想使用 SMTP 客户端 uiing microsft net 以 C 作为编程语言发送电子邮件 但是对于通过SMTP客户端发送的电子邮件 我们是否可以添加 禁止转发 或 禁止复制 等安全功能 我不希望电子邮件的收件人转发或复制电子邮件的
  • C# 多维数组解析

    我有一个多维数组 内容在调试器中看起来像这样 数组设置为 String s new String 6 4 A B Yes C A B Yes C A B No C A B Yes C A B Yes C A B Yes C A B No C
  • 如何在android中使用Room Persistence ORM工具实现created_at和updated_at列

    我该如何实施created at and updated at在Android中使用Room Persistence ORM工具的列 可以在创建或更新表中的行时自动更新时间戳 我研究了很多网站 但仍然没有找到任何可以处理的结果middlew
  • 如何配置 qt Creator 以显示 C++ 代码而不是反汇编程序?

    昨天我做了很多事情 比如更新 GCC Clang 和重新安装 Qt Creator 今天 在逐步调试我的代码时 调试器显示的是反汇编代码 而不是我编写的 C 代码 紧迫F10 or F11 调试器正在进入汇编代码而不是 cpp nor h我
  • 稀疏矩阵超定线性方程组c/c++库

    我需要一个库来解决 Ax b 系统 其中 A 是一个非对称稀疏矩阵 每行有 8 个条目 而且可能很大 我认为实现双共轭梯度的库应该没问题 但我找不到一个有效的库 我尝试过 iml 但 iml sparselib 包中缺少一些标头 有小费吗
  • 如何将模型绑定到动态创建的类 nancyfx

    首先感谢任何愿意查看我的问题的人 我对 Nancyfx 还很陌生 在尝试将 JSON 有效负载绑定到动态创建的类时遇到问题 我按照这篇文章中的代码动态创建了该类 在C 中动态创建一个类 https stackoverflow com que

随机推荐

  • adb shell 报错error: device unauthorized

    2022 7 29 oppo r11s 安卓8 亲测成功 windows电脑在链接安卓设备后 想要进行终端命令行进入到该设备 出现报错 报错内容 C Users gt adb shell error device unauthorized
  • 机械手使用者坐标系和工具坐标系_发那科机器人应用-坐标系介绍(2)

    工具坐标系 由工具中心点 的位置 和工具的姿势 构成 工具中心点 的位置 通过相对机械接口坐标系的工具中心点的坐标值 来定义 工具的姿势 通过机械接口坐标系的 轴 轴 轴周围的回转角 来定义 工具中心点用来对位置数据的位置进行示教 在进行工
  • Linux系列:Linux中如何安装.rpm、.tar、.tar.gz和tar.bz2文件

    我以下面三个包为例 三个包都在 etc opt下 A example 1 2 3 1 rpm B example 1 2 3 1 tar C example 1 2 3 1 tar gz 1 安装rpm包 说起RPM REDHAT Pack
  • 关于QtCreator 4.8 创建工程时,选中创建界面(.ui)无法创建工程问题

    在主界面一次选中 help gt about plugins 然后在弹出界面中找到QtCreator 在Designer右侧的的方框中打钩 然后close界面 重启软件 搞定 很简单的设置 浪费了好长时间
  • 芯片设计制造全过程

    芯片设计制造全过程 将一颗芯片从0到1 可以分为芯片设计和芯片制造两部分 芯片设计对应市场上一些fabless公司 这类公司只做芯片设计 而芯片制造对应的是foundary 比如国内的smic TSMC 国外的Samsung GlobalF
  • 分布式系统的接口幂等性设计

    什么是幂等性 就是用户对于同一操作发起的一次请求或者多次请求的结果是一致的 不会因为多次点击而产生了其他的结果 在 CRUD 这 4 个操作中 查询操作是天然幂等的 删除操作也只会删除一次 多次的删除操作结果还是一样 影响幂等的只有在添加和
  • 服务器考试系统推荐,如何挑选并发性好的在线考试系统?

    原标题 如何挑选并发性好的在线考试系统 并发性是在线考试系统的核心指标之一 不同的在线考试系统之间可能功能上看似差异不大 但并发性不同就会使得使用体验悬若霄壤 如何挑选并发性好的在线考试系统呢 最好的办法还是通过具体的使用来进行判断 什么是
  • ConstraintLayout 使用详解

    在安卓开发过程中除了一些列的逻辑代码程序以外 UI界面也是很重要的组成部分 对于用户来说界面更是一个应用的所有 所有的操作和交互都是在UI发生 对于开发者来说UI的加载和绘制对应用的计算和内存的影响更是不容忽视 下面看一组界面 这个布局很简
  • 线程池使用和自定义线程池

    目录 1 线程基础概述 1 1 线程池的作用 1 2 为什么要用线程池 1 3 比较重要的几个类 1 4 new Thread的弊端 2 四种线程池 2 1 源码分析 2 2 RejectedExecutionHandler 线程池四种拒绝
  • subversion强制写log的windows 和linux hooks脚本

    windows code echo offsetlocalset REPOS 1set TXN 2rem check that logmessage contains at least 10 characterssvnlook log RE
  • Tinyid原理介绍

    Id生成系统要点 在简单系统中 我们常常使用db的id自增方式来标识和保存数据 随着系统的复杂 数据的增多 分库分表成为了常见的方案 db自增已无法满足要求 这时候全局唯一的id生成系统就派上了用场 当然这只是id生成其中的一种应用场景 那
  • MYSQL 中的表空间

    MYSQL中的表空间 MYSQL 的表空间可以理解为其存储在物理磁盘上的 表名 ibd 文件 MYSQL 为了管理方便 增加了很多概念 来一一了解一下 逻辑概念 Segment 在 B 树的根页面的中 存储了两个 10 字节的字段 PAGE
  • vue实现动态锚点

    监听滚动事件 实现动态锚点 参考 Vue监听滚动实现锚点定位 双向
  • 科技赋能企业,实现数字化转型

    科技是第一生产力 数字技术即科技 可以改变传统的商业模式 为各行各业注入新的活力 推动企业数字化转型 可是实现行业的效率提升 实现跨界重组 重构产业模式 为产业格局重新赋能 最终实现企业产能升级 一 科技赋能意义重大 科技赋能企业 为我国经
  • 通过springboot autoconfig分析bean实例化过程的案例

    分析案例前提所参考的例子 Spring Boot中的自定义start pom SpringBoot学习笔记 3 Spring Boot 运行原理 自动配置 然后我又看了下nacos的源码 发现原来也都是这做的截图如下 当然最终的目的我是想知
  • 使用Navicat Premium 同步 测试数据库 与 正式数据库 数据

    目录标题 使用Navicat Premium 同步 测试数据库 与 正式数据库 数据 使用Navicat Premium 同步 测试数据库 与 正式数据库 数据 步骤 1 使用 Navicat 打开连接 2 打开 工具 gt 结构同步 3
  • Linux中root用户找不到JAVA_HOME

    Linux中root用户找不到JAVA HOME 在Ubuntu环境中安装好Java环境后设置环境变量 在 etc profile中设置好了JAVA HOME变量并引入到PATH中 用于Ubuntu默认是不以root用户登录的 这时echo
  • kubernetes1.24版本部署+containerd运行时(弃用docker)

    背景介绍 kubernetes 1 24版本正式弃用docker 开始使用containerd作为容器运行时 运行时介绍 OCI Open Container Initiative 2015年Google docker Redhat IBM
  • 云原生之使用docker部署centos系统测试环境

    云原生之使用docker部署centos系统测试环境 一 检查本地服务器系统版本 二 检查docker版本 三 检查docker状态 四 下载centos镜像 五 创建centos容器 1 运行centos容器 2 检查容器内根目录 六 c
  • 使用广泛的开源PCB文件查看器 Gerbv 含多个严重漏洞

    聚焦源代码安全 网罗国内外最新资讯 编译 代码卫士 专栏 供应链安全 数字化时代 软件无处不在 软件如同社会中的 虚拟人 已经成为支撑社会正常运转的最基本元素之一 软件的安全性问题也正在成为当今社会的根本性 基础性问题 随着软件产业的快速发