
一、前言近期安全扫描发现OpenSSHOpenBSD Secure Shell 9.7p1及之前版本中存在多个漏洞影响大部分开源版本如下所示更多参看版本说明和厂商安全公告受影响版本漏洞编号漏洞说明修复版本OpenSSH 9.7p1及之前版本CVE-2020-15778其中scp的scp.c文件存在命令注入漏洞。该漏洞源于外部输入数据构造可执行命令过程中网络系统或产品未正确过滤其中的特殊元素。攻击者可利用该漏洞执行非法命令目前厂商暂未发布修复措施可先升级到OpenSSH 9.9p2或临时禁用scp改用rsync等缓解风险但可能会导致小文件机器内拷贝变慢问题OpenSSH 9.3p2之前版本CVE-2023-38408源于ssh-agent的PKCS11功能存在安全问题。攻击者可利用该漏洞执行远程代码补丁下载后替换ssh-agent.1]和ssh-agent.c后重新编译)或直接升级到OpenSSH 9.3p29.8p1及之前但4.4p1 OpenSSH 8.5p1不受此漏洞影响CVE-2024-6387竞争条件问题漏洞存在于 OpenSSH 服务器sshd中由于信号处理器竞赛条件存在缺陷可以让未经认证的远程攻击者以 root 用户身份执行任意代码攻击者利用该漏洞可以让系统全面瘫痪以 root 最高级别权限全面接管系统安装恶意软件、篡改数据和创建后门便于后续访问等等。12个补丁覆盖后重新编译或升级到最新版OpenSSH 9.9p2临时缓解配置LoginGraceTime为0来暂时规避远程代码执行问题但会造成潜在的拒绝服务DoS风险OpenSSH 6.2到8.8之前版本CVE-2021-41617该漏洞源于允许权限提升因为补充组未按预期初始化升级到/openssh-8.8p1OpenSSH 9.6及之前版本CVE-2023-51767该漏洞源于当使用常见类型的DRAM时mm_answer_authpassword中已验证的整数值不能抵抗单个比特的翻转导致攻击者可以绕过身份验证升级到OpenSSH 9.9p2OpenSSH 9.6之前版本CVE-2023-51385存在操作系统命令注入漏洞升级到OpenSSH 9.9p2OpenSSH 5.7至8.3版本的客户端CVE-2020-14145OpenSSH客户端中的可观察到的差异会导致算法协商过程中的信息泄露。中间人攻击者可利用该漏洞攻击初始连接尝试升级到OpenSSH 9.9p2OpenSSH 9.6之前版本CVE-2023-48795允许远程攻击者绕过完整性检查从而省略某些数据包升级到OpenSSH 9.9p2二、修复升级到OpenSSH 9.9p2该版本另外修复CVE-2025-26465和VE-2025-26466#发布于2025年2月18wgethttps://cdn.openbsd.org/pub/OpenBSD/OpenSSH/portable/openssh-9.9p2.tar.gz#依赖可解压后查看README.Plateform来安装依赖yuminstall-ygcc openssl-devel zlib-develwgetecho/usr/local/zlib/lib/etc/ld.so.conf ldconfig-v#编译安装cd./openssh-9.9p2 ./configure--prefix/usr#这样默认安装{bin,etc,lib,sbin}到/usr下默认二进制文件再/usr/local/bin下 configuration files在/usr/local/etc下, the server在/usr/local/sbin下//修正如下 ./configure--prefix/usr--sysconfdir/etc/ssh --with-md5-passwords --with-pam --with-zlib --with-ssl/usr/local/bin/openssl --with-privsep-path/var/lib/sshdmake-j2maketests#输出都ok即可#备份备份原来的ssh相关二进制文件/usr/bin和/usr/sbin下新的默认安装在/ust/local/bin或sbin下配置文件也备份下makeinstall#修改启动服务sed-ris/^(ExecStart).*/\1\/usr\/local\/sbin\/sshd -D $OPTIONS/g/usr/lib/systemd/system/sshd.servicesed-ris/^(Type).*/\1simple/g/usr/lib/systemd/system/sshd.service 或cpcontrib/redhat/sshd.init /etc/init.d/sshd#重新生成sshd.service#修改配置sed-ris/^(Subsystem).*/\1 sftp \/usr\/local\/libexec\/sftp-server/g/etc/ssh/sshd_configechoCiphers aes128-ctr,aes192-ctr,aes256-ctr/etc/ssh/sshd_configechoOPTIONS-f /etc/ssh/sshd_config/etc/sysconfig/sshd#配置参看https://man.openbsd.org/sshd_config#当启用StrictModes 设置为 yes 时OpenSSH 会强制要求用户的家目录~及其上层目录~user/的权限必须非常严格#用户家目录~user/的权限必须是用户自己拥有且不能给其他用户写权限例如权限模式为 700。#用户家目录~user/的上层目录~的权限必须是系统管理员拥有且除了拥有者外并不允许其他用户写权限例如权限模式为 755。#完成后拉起验证systemctl daemon-reloadchmod754/var/run/sshd/rm-f/lib/systemd/system/ssh.service systemctl unmasksshsystemctlenablesshd systemctl start sshd.service systemctl status sshd.service sshd-Tsshd-t-f/usr/etc/sshd_configssh-V三、Nginx漏洞CVE-2024-7347和CVE-2025-234191CVE-2024-7347该漏洞可能允许攻击者使用特制的mp4文件过度读取NGINX工作内存导致其终止。NGINX开源和NGINX Plus在ngx_http_mp4_module中存在一个漏洞该漏洞可能允许攻击者使用特制的mp4文件过度读取NGINX工作内存导致其终止。如果NGINX是使用ngx_http_mp4_module构建的并且配置文件中启用了mp4配置指令则该问题只会影响NGINX。此外只有当攻击者能够使用ngx_http_mp4_module触发对特制mp4文件的处理时才可能发生攻击。该漏洞允许本地认证攻击者导致 NGINX 服务拒绝访问DoS。没有控制面暴露这仅是一个数据面问题。影响版本1.5.13 - 1.26.1修复版本1.27.1、1.26.2缓解措施配置文件中注释掉MP4相关指令包括 http、server 和 location 上下文中示例如下location /video/ {# mp4; # mp4# mp4_buffer_size 1m;# mp4_max_buffer_size 5m;# mp4_limit_rate on;# mp4_limit_rate_after 30s;}2CVE-2025-23419漏洞源于TLS会话票证或SSL会话缓存的使用这可能使攻击者利用会话恢复来绕过这些服务器上的客户端证书认证要求。当基于名称的虚拟主机配置为共享同一 IP 地址和不同端口组合并使用TLS 1.3和 OpenSSL 时之前已认证的攻击者可以利用会话恢复绕过这些服务器上的客户端证书身份验证要求。当使用 TLS 会话票据和/或默认虚拟主机下启用了 SSL 会话缓存session cache 并且默认虚拟服务器执行客户端证书身份验证时会出现此漏洞。此问题影响 NGINX http 和 NGINX stream 模块可能导致资源或功能暴露给未授权的人员为攻击者提供访问敏感信息的有限访问权限。没有控制平面的暴露这仅是一个数据平面问题。影响版本1.11.4 - 1.27.3修复版本1.27.4、1.26.3缓解措施创建一个默认的占位服务器对客户端证书值执行授权检查在每个服务器块中禁用 TLS 1.3相关资源ssl_reject_handshake、ssl_verify_client、request_processing、变量说明#建一个显式的默认代理服务器该服务器不执行客户端身份验证server{listen443ssl default_server;ssl_reject_handshake on;#禁用 SSL 握手ssl_verify_client off;#关闭客户端验证禁用客户端授权ssl_protocols TLSv1.2 TLSv1.3;}#对客户端证书值进行授权检查但增加额外的授权检查可能会导致性能轻微下降server{listen443ssl;server_name example.org;ssl_client_certificate org.crt;ssl_verify_client on;#对建立的 SSL 连接中客户端证书的预期主体 DN($ssl_client_s_dn)进行授权检查if($ssl_client_s_dn!CNclientA,OsiteA,LCity,CDE){return403;返回403;}}#在每个服务器块中禁用 TLS 1.3TLS 1.3 默认情况下从 NGINX Plus R29 和 NGINX OSS 1.23.4 开始启用注意从配置中移除 TLS 1.3 可能会阻止某些客户端连接server{listen443ssl;ssl_protocols TLSv1.2;...}四、openssh 10.3漏洞漏洞名称威胁等级漏洞描述OpenSSH 资源管理错误漏洞(CVE-2026-60002)高OpenBSD OpenSSH 10.4之前版本存在资源管理错误漏洞该漏洞源于服务器在密钥重新交换期间更改主机密钥时存在释放后重用问题可能导致客户端受到影响。厂商地址或厂商补丁地址https://www.openssh.org/releasenotes.html#10.4p1OpenSSH 安全漏洞(CVE-2026-35386)高OpenSSH 10.3之前版本存在安全漏洞该漏洞源于命令行用户名中未处理shell元字符可能导致命令执行。OpenSSH/Dropbear 安全漏洞(CVE-2026-35385)高OpenSSH 10.3之前版本存在安全漏洞该漏洞源于scp下载文件时可能错误设置权限可能导致权限问题。Dropbear升级到 2026.90 以上版本https://github.com/mkj/dropbear/releasesOpenSSH 安全漏洞(CVE-2026-35414)高OpenSSH 10.3之前版本存在安全漏洞该漏洞源于authorized_keys principals选项处理不当可能导致访问控制问题。OpenSSH 资源管理错误漏洞(CVE-2026-60000)高OpenBSD OpenSSH 10.4之前版本存在资源管理错误漏洞该漏洞源于MaxAuthTries在GSSAPIAuthentication验证过程中处理不当可能导致远程攻击者通过过多的身份验证尝试造成资源消耗进而引发拒绝服务。厂商地址或厂商补丁地址https://www.openssh.org/releasenotes.html#10.4p1OpenSSH 信任管理问题漏洞(CVE-2026-59999)高OpenSSH 10.4之前版本存在信任管理问题漏洞该漏洞源于信任管理问题DisableForwardingyes未能优先于PermitTunnelyes。OpenSSH 安全漏洞(CVE-2026-35387)中该漏洞源于ECDSA算法配置被误解可能导致使用非预期的算法。OpenSSH 处理逻辑错误漏洞(CVE-2026-59998)中该漏洞源于处理逻辑错误可能导致GSSAPIStrictAcceptorCheck在服务器位于Windows Active Directory时无值。OpenSSH 资源管理错误漏洞(CVE-2026-60001)中OpenBSD OpenSSH 10.4之前版本存在资源管理错误漏洞该漏洞源于未始终遵守最小身份验证延迟可能导致资源管理错误。OpenSSH 输入验证错误漏洞(CVE-2026-59997)中OpenBSD OpenSSH 10.4之前版本存在输入验证错误漏洞该漏洞源于sshd中的internal-sftp仅识别前9个命令行参数可能导致SFTP连接的安全属性无法得到预期保障。OpenSSH 路径遍历漏洞(CVE-2026-59995)中OpenBSD OpenSSH 10.4之前版本存在路径遍历漏洞该漏洞源于在使用sftp server:/path .且服务器由攻击者控制时未正确限制下载文件的位置可能导致任意文件写入或路径遍历。OpenSSH 路径遍历漏洞(CVE-2026-59996)中OpenBSD OpenSSH 10.4之前版本存在路径遍历漏洞该漏洞源于在远程复制操作中将文件放置在目标目录的父目录中可能导致路径遍历。处理:统一升级openssh 10.6;# FreeBSD 的完整源码环境中/usr/src使用 FreeBSD 的 make通常是 bmake在顶层或相应目录执行构建。https://ftp.openbsd.org/pub/OpenBSD/OpenSSH/openssh-10.6.tar.gzcd/usr/src/usr.bintarzxvf.../openssh-10.6.tar.gzcdsshmakeobjmakecleandirmakedependmakemakeinstallcpssh_config sshd_config /etc/ssh# (optional)#通用 Unix 环境使用 Portable OpenSSH 的源码包它使用了 autoconf会自动检测你的系统环境并处理 OpenBSD 的兼容层不需要 FreeBSD 的 bsd.own.mk 等文件dnfinstall-ygccmakezlib-devel openssl-devel pam-develaptinstall-ygccmakezlib1g-dev libssl-dev libpam0g-dev#查二进制里的编译信息strings /usr/sbin/sshd|grep-iconfigure\|openssh## 特权分离目录 用户BLFS 原文install-v-gsys-m700-d/var/empty#这一条就够了groupadd-g50sshduseradd-csshd PrivSep-d/var/empty-gsshd-s/bin/false-u50sshd#或mkdir/var/emptychownroot:sys /var/empty# FreeBSD 用 root:sysLinux 用 root:rootchmod755/var/emptygroupaddsshd#必须是独立、不与任何其它系统服务共用的账号不拥有任何文件家目录就设成特权分离目录useradd-gsshd-csshd privsep-d/var/empty-s/bin/false sshd ./configure\--prefix/usr\--sysconfdir/etc/ssh\--with-ssl-dir/usr\--with-zlib\--with-pam\--with-privsep-path/var/empty/sshd\--with-privsep-usersshd#隔离攻击面chroot 到空目录后即便 sshd-auth 被攻破攻击者在这个进程里也看不到、碰不到宿主机真正文件系统——根目录下什么都没有# --with-md5-passwords \#--with-tcp-wrappers \ #启用 TCP Wrappers/etc/hosts.allow|deny需 libwrap.a 与 tcpd.hmake-j$(nproc)rpm-q--queryformat%{NAME} %{VERSION}\nopenssh#默认是8.8p1#make完成直接sshd-Vsshd-D测试ssh-vv127.0.0.1测试