首页
/ c-ares 1.34.5版本发布:DNS解析库的安全更新与改进

c-ares 1.34.5版本发布:DNS解析库的安全更新与改进

2025-06-25 22:52:08作者:曹令琨Iris

c-ares是一个异步DNS解析库,它被广泛应用于各种网络应用程序中,提供了高性能的DNS查询功能。与传统的同步DNS解析不同,c-ares采用异步非阻塞的方式处理DNS请求,特别适合需要高并发处理的网络应用场景。

安全修复:CVE-2025-31498问题修补

本次发布的1.34.5版本主要是一个安全更新版本,修复了一个重要的安全问题CVE-2025-31498。该问题是一个在read_answers()函数中发现的use-after-free(释放后使用)情况,这个问题是在1.32.3版本中引入的。

use-after-free问题是内存安全类情况中较为重要的一种,可能影响程序的稳定运行。对于DNS解析库来说,这类问题尤其需要注意,因为DNS解析通常是网络应用的基础功能,且处理来自外部网络的数据。

功能改进与兼容性增强

除了安全修复外,1.34.5版本还包含了一些功能改进和问题修复:

  1. Windows XP支持恢复:考虑到仍有部分遗留系统需要使用,本次更新恢复了Windows XP平台的支持能力。

  2. CPU资源占用优化:修复了一个在多线程环境下可能导致CPU使用率过高的情况。这个问题主要影响非Windows、Linux和MacOS平台,当这些平台上的应用频繁检查配置变化时,由于缺少互斥锁初始化,会导致忙等待消耗过多CPU资源。

  3. 静态构建改进:修正了pkgconfig在静态构建时关于-pthread选项的错误配置问题,使得静态链接更加可靠。

  4. 本地主机解析增强:修复了当/etc/hosts文件中只配置了一种地址族(IPv4或IPv6)时,可能导致localhost解析失败的情况。

技术影响与升级建议

对于使用c-ares库的开发者和管理员来说,1.34.5版本是一个推荐升级的版本,特别是:

  • 所有使用1.32.3及以上版本的用户应考虑升级,以修复安全问题
  • 需要支持Windows XP环境的项目可以恢复使用最新版本
  • 在多线程环境下遇到CPU使用率异常高的应用应考虑升级
  • 进行静态链接构建的项目可以受益于pkgconfig的改进

c-ares作为一个轻量级、高性能的DNS解析库,其稳定性和安全性对依赖它的网络应用至关重要。本次更新不仅解决了安全问题,还提升了库的兼容性和可靠性,是开发者值得关注的一个版本。

登录后查看全文
热门项目推荐

项目优选

收起
ohos_react_nativeohos_react_native
React Native鸿蒙化仓库
C++
176
261
RuoYi-Vue3RuoYi-Vue3
🎉 (RuoYi)官方仓库 基于SpringBoot,Spring Security,JWT,Vue3 & Vite、Element Plus 的前后端分离权限管理系统
Vue
860
511
openGauss-serveropenGauss-server
openGauss kernel ~ openGauss is an open source relational database management system
C++
129
182
openHiTLSopenHiTLS
旨在打造算法先进、性能卓越、高效敏捷、安全可靠的密码套件,通过轻量级、可剪裁的软件技术架构满足各行业不同场景的多样化要求,让密码技术应用更简单,同时探索后量子等先进算法创新实践,构建密码前沿技术底座!
C
259
300
ShopXO开源商城ShopXO开源商城
🔥🔥🔥ShopXO企业级免费开源商城系统,可视化DIY拖拽装修、包含PC、H5、多端小程序(微信+支付宝+百度+头条&抖音+QQ+快手)、APP、多仓库、多商户、多门店、IM客服、进销存,遵循MIT开源协议发布、基于ThinkPHP8框架研发
JavaScript
93
15
Cangjie-ExamplesCangjie-Examples
本仓将收集和展示高质量的仓颉示例代码,欢迎大家投稿,让全世界看到您的妙趣设计,也让更多人通过您的编码理解和喜爱仓颉语言。
Cangjie
332
1.08 K
HarmonyOS-ExamplesHarmonyOS-Examples
本仓将收集和展示仓颉鸿蒙应用示例代码,欢迎大家投稿,在仓颉鸿蒙社区展现你的妙趣设计!
Cangjie
398
371
note-gennote-gen
一款跨平台的 Markdown AI 笔记软件,致力于使用 AI 建立记录和写作的桥梁。
TSX
83
4
CangjieCommunityCangjieCommunity
为仓颉编程语言开发者打造活跃、开放、高质量的社区环境
Markdown
1.07 K
0
kernelkernel
deepin linux kernel
C
22
5