2024年7月1日,公布的OpenSSH的漏洞【CVE-2024-6387】

目录

■概要

■概要(日语)

■相关知识

openssh 和 ssh 有区别吗

如何查看 openssh的版本

漏洞描述

glibc Linux是什么

如何查看系统是不是基于 Gibc

RHEL Linux 是基于Glibc的Linux吗

还有哪些 Linux版本是基于 GNU C库(glibc)的

有哪些Linux不是基于 GNU C库(glibc)的


=========

■概要

CVE-2024-6387是一个影响OpenSSH的远程代码执行(RCE)漏洞。该漏洞存在于OpenSSH服务器(sshd)的信号处理程序中,由于在处理SIGALRM信号时的竞争条件,攻击者可以利用该漏洞执行任意代码。该漏洞主要影响基于glibc的Linux系统。

CVE-2024-6387(又名 RegreSSHion)是基于 glibc 的 Linux 系统上 OpenSSH 服务器 (sshd) 中的信号处理程序争用条件漏洞。此漏洞的严重等级为“高”(CVSS 8.1),并可能导致具有 root 权限的未经身份验证的远程代码执行 (RCE)。

当客户端在LoginGraceTime(默认120秒,旧版本600秒)内未能完成身份验证时,sshd会异步调用SIGALRM处理程序。由于信号处理的竞争条件,攻击者可以通过特定的时间窗口注入恶意代码,实现远程代码执行。

表1显示了与 CVE-2024-6387 关联的易受攻击版本。

■概要(日语)

2024 年 7 月 1 日、glibc ベースの Linux システム上の OpenSSH サーバー (sshd) に重大なシグナル ハンドラー競合状態の脆弱性が発見されました。本脆弱性は「RegreSSHion」と呼ばれるもので、CVE-2024-6387 としてトラッキングされています。本脆弱性が悪用された場合、root 権限による未認証のリモート コード実行 (RCE) につながるおそれがあります。本脆弱性は重大度が「High (重要) CVSS8.1」と評価されています 。

本脆弱性は、次の OpenSSH サーバー バージョンに影響します。

Open SSH バージョン 8.5p1 〜 9.8p1
OpenSSH バージョン 4.4p1 より前のバージョンで、CVE-2006-5051 に対するパッチがバックポートされていないか CVE-2008-4109 に対するパッチが適用されていない場合
PAN-OS の SSH 機能は CVE-2024-6387 の影響を受けません。

■相关知识

openssh 和 ssh 有区别吗

OpenSSH 是一个开源的版本,而 SSH 是指 Secure Shell,是一种加密协议用于安全地远程连接计算机。OpenSSH 是 SSH 协议的免费开源实现,提供了安全的远程登录、文件传输和 tunneling 功能。因此,OpenSSH 是 SSH 协议的一个具体实现。

如何查看 openssh的版本

ssh -V

OpenSSH_8.2p1 Ubuntu-4ubuntu0.11, OpenSSL 1.1.1f  31 Mar 2020

漏洞描述

Assigner: Red Hat, Inc.

Published: 2024-07-01

Updated: 2024-07-08

Title: Openssh: Possible Remote Code Execution Due To A Race Condition In Signal Handling

=============

Description

A security regression (CVE-2006-5051) was discovered in OpenSSH's server (sshd). There is a race condition which can lead to sshd to handle some signals in an unsafe manner. An unauthenticated, remote attacker may be able to trigger it by failing to authenticate within a set time period.

=============

CVE-2024-6387描述了在OpenSSH服务器(sshd)中发现的安全回归(CVE-2006-5051)。存在一种竞争条件,可能导致sshd以不安全的方式处理某些信号,从而导致可能的远程代码执行漏洞。

glibc Linux是什么

glibc(GNU C 库)是Linux操作系统中的一个重要组成部分,它是一个C语言库,提供了许多操作系统功能的接口,包括文件操作、内存管理、输入输出等。glibc是由GNU项目开发的,它是Linux系统中最基本的库之一,许多应用程序和系统工具都依赖于它来实现其功能。它提供了与硬件无关的接口,允许开发人员在不同的硬件平台上使用相同的程序和库。

总的来说,glibc是Linux中的一个关键组件,为应用程序提供了与操作系统交互的基本功能,并且支持多种硬件平台。

如何查看系统是不是基于 Gibc

ldd --version

root@ubuntu:/home/ubuntu/DATA# ldd --version
ldd (Ubuntu GLIBC 2.31-0ubuntu9.14) 2.31
Copyright (C) 2020 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
Written by Roland McGrath and Ulrich Drepper.
root@ubuntu:/home/ubuntu/DATA#

RHEL Linux 是基于Glibc的Linux吗

是的,Red Hat Enterprise Linux(RHEL)是基于GNU C库(glibc)的Linux发行版。glibc是Linux系统中用于提供C语言库函数的重要组件之一,它提供了很多标准C库函数以及用于与系统进行交互的重要功能。RHEL作为企业级Linux发行版,使用glibc作为其标准C库,并且它是基于GNU项目的发行版之一。因此,RHEL Linux是基于glibc的Linux发行版之一。

还有哪些 Linux版本是基于 GNU C库(glibc)的

除了RHEL Linux之外,许多其他流行的Linux发行版也是基于GNU C库(glibc)的。例如:

  1. Ubuntu:Ubuntu是目前非常流行的Linux发行版之一,也是基于glibc的。

  2. Debian:Debian是一个知名的通用操作系统,它的流派和许多其他的Linux版本一样,基于glibc。

  3. CentOS:CentOS是另一个流行的企业级Linux发行版,也是基于glibc的。

  4. Fedora:Fedora是由社区支持的Linux发行版,也基于glibc。

这些都是基于GNU C库(glibc)的Linux发行版,它们在系统的基本库函数和系统调用等方面都依赖于glibc。

有哪些Linux不是基于 GNU C库(glibc)的

除了基于GNU C库(glibc)的Linux发行版,还有一些基于其他C库的Linux发行版,例如:

  1. Alpine Linux:Alpine Linux使用musl C库而不是glibc,它被设计为轻量级的Linux发行版,专注于安全和效率。

  2. Void Linux:Void Linux也使用了musl C库,它是一个自由、开放源代码的Linux发行版,致力于提供简单性和灵活性。

这些Linux发行版选择了不同的C库来取代GNU C库(glibc),以满足特定的需求和使用场景。这些替代的C库通常会对内存占用和性能有所优化,并且在一些特定领域有一定的优势。

====

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/43734.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

JustAuth实现多个钉钉扫码登录

需求: 实现多个钉钉组织的用户绑定和扫码登录。 JustAuth框架实现钉钉扫码登录用到的dingTalk接口: https://oapi.dingtalk.com/connect/qrconnecthttps://oapi.dingtalk.com/connect/oauth2/sns_authorize根据sns临时授权码获取用户信息 https://oap…

Java基础之Stringjoiner

Stringjioiner的概述 StringJoiner跟StringBuilder一样,也可以看成是一个容器,创建之后里面的内容是可变的。作用:提高字符串的操作效率,而且代码编写特别简洁,但是目前市场上很少有人用。 Stringjoiner的构造方法 Stringjoiner…

软件许可证优化怎么做最好!

在当今数字化发展的浪潮中,软件许可证的优化成为了 IT 总监们面临的一项重要挑战。在许可数量受限的情况下,如何将现有许可发挥最大利用率,是一个亟待解决的问题。 信息采集是优化的基础。 我们需要采集关于软件使用频率、使用时长、用户部门…

05.C1W4.Machine Translation and Document Search

往期文章请点这里 目录 OverviewWhat you’ll be able to do!Learning Objectives Transforming word vectorsOverview of TranslationTransforming vectors Align word vectorsSolving for RFrobenius normFrobenius norm squaredGradient K nearest neighborsFinding the tr…

【1.2】动态规划-买卖股票的最佳时机

一、题目 给定一个数组,它的第i个元素是一支给定的股票在第i天的价格。设计一个算法来计算你所能获取的最大利润。你最多可以完成两笔交易。 注意:你不能同时参与多笔交易(你必须在再次购买前出售掉之前的股票)。 示例 1: 输入&a…

运用sessionId redis中获取用户的信息rg.springframework.session.SessionRepository

这个类是 org.springframework.session.SessionRepository 接口,它定义了操作 Session 的基本方法。SessionRepository 是 Spring Session 框架的一部分,用于管理和存储用户的 HTTP Session。下面是这个接口的详细解释: SessionRepository&l…

Sentinel-1 Level 1数据处理的详细算法定义(二)

《Sentinel-1 Level 1数据处理的详细算法定义》文档定义和描述了Sentinel-1实现的Level 1处理算法和方程,以便生成Level 1产品。这些算法适用于Sentinel-1的Stripmap、Interferometric Wide-swath (IW)、Extra-wide-swath (EW)和Wave模式。 今天介绍的内容如下&…

C++:CV::Point函数简介

cv::Point 是 OpenCV 库中用于表示二维坐标系下点的一个基本数据类型。它提供了在图像处理、计算机视觉等领域中定位和操作点的能力。以下是关于 cv::Point 的详细介绍: 基本属性 类型:cv::Point 是一个模板类,通常用于处理整数坐标&#x…

解决打印PDF文本不清楚的处理办法

之前打印PDF格式的电子书,不清晰,影响看书的心情,有时看到打印的书的质量,根本不想看,今天在打印一本页数不多,但PDF格式的书感觉也不太清楚,我想应该有办法解决,我使用的是解决福昕…

2017年,我成为了技术博主

2017年9月,我已经大三了。 >>上一篇(爪哇,我初窥门径) 我大二学了很多java技术,看似我一会就把javaweb/ssh/ssm这些技术栈给学了。 这些技术确实不难,即便是我,我都能学会,…

可以添加todo清单桌面小组件的便签哪个好?

在我们快节奏的生活中,有效的时间管理和任务追踪是必不可少的。为了实现这一目标,许多人选择使用桌面便签,尤其是那些具有Todo清单桌面小组件的便签。但是,面对市场上众多选择,可以添加todo清单桌面小组件的便签哪个好…

C++八股(四)之STL

目录 一、讲一下C++的STL 二、vector list异同⭐⭐ 三、vector的底层实现⭐⭐ 四、vector和deque的区别 ⭐⭐ 五、deque和queue的区别⭐⭐ 六、为什么list里面还要再定义一个sort函数⭐ 七、STL底层数据结构实现⭐ 八、利用迭代器删除元素会发生什么?⭐⭐⭐⭐ 九、map…

14 Portainer轻量级图形化监控

目录 Portainer:Docker轻量级可视化工具 1. 安装与访问 2. 使用 3. Portainer配置 nginx Portainer:Docker轻量级可视化工具 Portainer是一款轻量级的应用,它提供了图形化界面,用于方便地管理Docker环境,包括单机…

db期末复习自用[应试向 附习题]

第一章 数据库系统实现整体数据的结构化,主要特征之一,是db区别于文件系统的本质区别。 数据库系统三个阶段:人工、文件、数据库系统。 数据库管理系统的功能:数据库定义、操纵 、(保护、存储、维护)、数…

Jmeter在信息头中设置Bearer与 token 的拼接值

思路:先获取token,将token设置成全局变量,再与Bearer拼接。 第一步:使用提取器将token值提取出来,使用setProperty函数将提取的token值设置成全局变量,在登录请求后面添加BeanShell取样器 或者 BeanShell后…

数据结构作业/2024/7/9

2>实现双向循环链表的创建、判空、尾插、遍历、尾删、销毁 fun.c #include "head.h" //1.双向循环链表的创建 doubleloop_ptr create_list() …

STM32实战篇:按键控制LED

按键控制LED 功能要求 有两个按键,分别控制两个LED灯。当按键按下后,灯的亮暗状态改变。实物如下图所示: 由图可知,按键一端直接接地,故另一端所对应IO引脚的输入模式应该为上拉输入模式。 实现代码 #include "…

《C++20设计模式》中单例模式

文章目录 一、前言二、饿汉式1、实现 三、懒汉式1、实现 四、最后 一、前言 单例模式定义: 单例模式(Singleton Pattern)是一种创建型设计模式,其主要目的是确保一个类只有一个实例,并提供全局访问点来访问这个实例。…

mysql实战入门-基础篇

目录 1、MySQL概述 1.1、数据库相关概念 1.2、MySQL数据库 1.2.1、版本 1.2.2、下载 1.2.3、安装 输入MySQL中root用户的密码,一定记得记住该密码 1.2.4、启动停止 1.2.5、客户端连接 1.2.6、数据模型 2、SQL 2.1、SQL通用语法 2.2、SQL分类 2.3、DDL 2.3.1、数据…

GNU/Linux - Linux Kernel Device model

Linux 设备模型是 Linux 内核中的一个框架,它提供了一种统一、一致的方式来管理和表示硬件设备。设备模型抽象了硬件的细节,使得开发和维护驱动程序和子系统变得更加容易。以下是 Linux 设备模型的关键组成部分和概念: 关键组成部分 设备 (D…