Regina Obe: PostGIS 3.7.0rc1

Regina Obe: PostGIS 3.7.0rc1

💡 原文英文,约500词,阅读约需2分钟。
📝

内容提要

PostGIS 3.7.0rc1发布,需配合PostgreSQL 19 Beta 3及GEOS 3.15.0rc1使用,支持PostgreSQL 14-19rc1、GEOS 3.10+和Proj 6.1+。此版本修复了3.7.0beta2以来的多个问题,包括防止空指针解引用、CPU拒绝服务攻击、畸形SRID前缀解析错误,以及多项GSERIALIZED和NURBS曲线相关的安全漏洞。升级时需运行postgis_extensions_upgrade()。

🔎

延伸解读

版本依赖与升级注意事项

PostGIS 3.7.0rc1是候选版本,需要PostgreSQL 14至19rc1、GEOS 3.10+和Proj 6.1+。若想使用全部功能,需GEOS 3.15+和SFCGAL 2.3.0+。升级时,PostGIS 3系列需运行postgis_extensions_upgrade(),而PostGIS 2系列需先更新扩展再运行该函数。建议在测试环境验证升级流程。

安全修复重点

此版本修复了多个安全漏洞,包括防止空指针解引用、CPU拒绝服务攻击(通过非有限控制点)、畸形SRID前缀解析错误,以及GSERIALIZED和NURBS曲线相关的多个问题。这些修复多由OSS-Fuzz发现,表明模糊测试在提升空间数据安全性方面的重要性。用户应尽快升级以防范潜在风险。

新功能与稳定性平衡

作为3.7.0的候选版本,它包含自3.6.4以来的新功能和错误修复。但候选版本可能仍存在未发现的问题,不适合生产环境。建议开发者和测试人员关注其新特性,并在测试环境中验证,同时留意官方后续的正式版本发布。

Q&A

PostGIS 3.7.0rc1 需要哪些版本的 PostgreSQL、GEOS 和 Proj?

PostGIS 3.7.0rc1 需要 PostgreSQL 14 到 19rc1,GEOS 3.10 或更高版本,以及 Proj 6.1 或更高版本。为了使用所有功能,建议使用 GEOS 3.15 或更高版本。

PostGIS 3.7.0rc1 修复了哪些安全问题?

修复了多个安全问题,包括防止空指针解引用、CPU拒绝服务攻击(通过非有限控制点的NURBS曲线)、畸形SRID前缀解析错误,以及多个GSERIALIZED和NURBS曲线相关的安全漏洞。

如何从 PostGIS 3 系列升级到 3.7.0rc1?

安装二进制文件或运行 pg_upgrade 后,执行 SELECT postgis_extensions_upgrade(); 即可升级所有 PostGIS 扩展。

PostGIS 3.7.0rc1 是正式版吗?

不是,3.7.0rc1 是 PostGIS 3.7.0 的发布候选版本(Release Candidate),属于主要版本的候选版,包含自 3.6.4 以来的错误修复和新功能。

PostGIS 3.7.0rc1 需要哪些额外的软件才能使用所有功能?

为了使用所有功能,需要 GEOS 3.15 或更高版本;为了使用所有 SFCGAL 功能,需要 SFCGAL 2.3.0 或更高版本。

PostGIS 3.7.0rc1 修复了哪些与 GSERIALIZED 相关的漏洞?

修复了多个 GSERIALIZED 相关的漏洞,包括:比较 SRID 时未规范化超出范围的值、分配与恶意 varlena 大小头一致、拒绝畸形多边形环、保持 bbox 比较与序列化标志一致、拒绝截断的 NURBS 向量负载等。

🏷️

标签

➡️

继续阅读