com.h2database:h2 组件安全漏洞及健康度分析

文章更新时间:2023-09-07 11:30

com.h2database:h2

组件简介

维护者h2database组织许可证类型MPL-2.0,EPL 1.0
首次发布2007 年 8 月 26 日最新发布时间2023 年 9 月 1 日
GitHub Star1175GitHub Fork3842
依赖包7,714依赖存储库266,808

com.h2database:h2是一个用Java开发的嵌入式数据库,它可以在内存或磁盘中存储数据,也可以以客户端-服务器模式运行。它支持标准的SQL和JDBC API,还有许多其他的特性和功能,如加密,全文搜索,浏览器控制台等。它是一个开源的项目,占用空间小,只有一个jar文件,大小约为2.5 MB。它可以与Spring Boot等流行的框架和工具集成,也可以与其他数据库进行互操作或迁移。它是一个非常快速,灵活,安全的数据库引擎。

官网:https://www.h2database.com/html/main.html

官方仓库:https://github.com/h2database/h2database

参考链接:

https://packages.ecosyste.ms/registries/repo1.maven.org/packages/com.h2database:h2

https://mvnrepository.com/artifact/com.h2database/h2

组件健康度

技术健康度com.h2database:h2是一个Java SQL数据库,它有以下特点:非常快速,开源,支持JDBC API可以嵌入式和服务器模式运行,可以使用磁盘或内存数据库支持事务,多版本并发基于浏览器的控制台应用支持加密数据库和全文搜索纯Java实现,占用空间小:jar文件大小约为2.5 MB有ODBC驱动程序 这些特点说明com.h2database:h2是一个技术上先进和灵活的数据库组件,可以适应不同的应用场景和需求。它的技术健康度是很高的。
社区健康度com.h2database:h2在GitHub上有3.8k个星标,1.2k个分支,1.4k个提交,153个贡献者。这些数字表明它有一个活跃和参与的社区,可以为项目提供反馈,贡献代码,解决问题。另外,它还有一个[Google Groups]论坛,可以让用户提问和讨论相关话题。它的社区健康度是很好的。
更新和维护频率com.h2database:h2在2023年8月22日发布了2.2.222版本。这是一个很大的更新,包括了许多新功能和修复。这个更新说明com.h2database:h2仍然在不断地改进和适应最新的技术发展和需求变化。它的更新和维护频率是提高了。
兼容性com.h2database:h2支持Java 8及以上版本,可以与多种流行的框架和工具集成,如Spring Boot,Hibernate,Flyway等。它还支持多种SQL方言和函数,可以与其他数据库进行互操作或迁移。因此,它的兼容性是很好的。
文档和支持com.h2database:h2有一个详细和完整的[文档],包括快速入门,教程,参考手册等。文档中还提供了许多示例代码和截图,可以帮助用户理解和使用该组件。除了文档外,用户还可以通过[Google Groups]论坛或[GitHub Issues]页面寻求支持和帮助。它的文档和支持是很充足的。

com.h2database:h2是一个技术上优秀,社区活跃,更新频繁,兼容性强,文档丰富的数据库组件。它没有明显的缺点或风险。

参考链接:

https://github.com/h2database/h2database

https://www.baeldung.com/spring-boot-h2-database

https://mvnrepository.com/artifact/com.h2database/h2

组件许可证解读

com.h2database:h2这个组件的许可证是MPL 2.0和EPL 1.0。这两种许可证都是开源软件许可证,允许用户自由地使用,修改,分发,和复制该组件。但是,它们也有一些不同的条款和条件,例如:

  • MPL 2.0要求用户在修改了该组件的源代码后,必须公开修改后的源代码,并且保持相同的许可证。这意味着用户不能将修改后的源代码保留为私有或者使用其他的许可证来分发。这样做的目的是为了保护该组件的开源性质,鼓励用户分享他们的改进和贡献。而EPL 1.0则不强制要求这一点,只要用户在分发修改后的组件时,提供一个获取源代码的途径即可。这样做的目的是为了给用户更多的灵活性和选择权,让他们可以根据自己的需要来决定是否公开源代码。
  • EPL 1.0要求用户在分发该组件时,必须包含一个版权声明和免责声明。这意味着用户必须在分发该组件时,明确地告诉接收者该组件是由谁开发的,以及该组件没有任何担保或保证。这样做的目的是为了保护该组件的开发者免受任何潜在的法律责任或索赔。而MPL 2.0则不需要这样做,只要用户在分发该组件时,保留原始的许可证文件即可。这样做的目的是为了简化用户的分发过程,减少他们需要遵守的规则。
  • MPL 2.0和EPL 1.0都不允许用户将该组件与其他不兼容的许可证的组件混合使用或分发 。例如,用户不能将该组件与GPL许可证的组件一起使用或分发,除非该组件也同时遵循GPL许可证。这样做的目的是为了避免产生许可证冲突或混乱,保持该组件与其他开源软件之间的一致性和互操作性。

许可证原文链接:https://github.com/h2database/h2database/blob/master/LICENSE.txt

组件漏洞版本及修复方案

漏洞编号漏洞标题漏洞等级影响版本修复版本
MPS-2022-65204H2 数据库明文密码问题高危[1.4.198,2.1.214]避免在启动参数中直接输入明文密码
MPS-2022-1435H2 Console 代码注入漏洞严重(-∞,2.1.210)2.1.210
MPS-2021-33243H2数据库存在JNDI注入漏洞严重[1.1.100,2.0.206)2.0.206

同类型可替代组件

  • HSQLDB:这是一个用Java开发的关系型数据库,它支持标准的SQL和JDBC API,还有存储过程,触发器等功能。它可以在内存或磁盘中存储数据,也可以以客户端-服务器模式运行。它是一个开源的项目,占用空间小,只有一个jar文件,大小约为1.5 MB。官网:https://hsqldb.org/
  • Apache Derby:这是一个用Java开发的关系型数据库,它支持标准的SQL和JDBC API,还有事务,索引,视图等功能。它可以在内存或磁盘中存储数据,也可以以客户端-服务器模式运行。它是一个开源的项目,占用空间较大,有多个jar文件,总大小约为3.5 MB。官网:https://db.apache.org/derby/
  • SQLite:这是一个用C开发的关系型数据库,它支持标准的SQL和JDBC API,还有触发器,视图等功能。它只能在磁盘中存储数据,不能以客户端-服务器模式运行。它是一个开源的项目,占用空间非常小,只有一个jar文件,大小约为300 KB。官网:https://www.sqlite.org/index.html

组件SBOM

组件名称版本是否直接依赖仓库
org.locationtech.jts:jts-core1.19.0maven
org.apache.lucene:lucene-core9.7.0maven
org.apache.lucene:lucene-sandbox9.7.0maven
org.apache.lucene:lucene-queries9.7.0maven
javax.servlet:javax.servlet-api4.0.1maven
org.apache.lucene:lucene-analysis-common9.7.0maven
SHLWAPI.dll– unmanaged
org.osgi:org.osgi.core5.0.0maven
ADVAPI32.dll– unmanaged
USER32.dll– unmanaged
jakarta.servlet:jakarta.servlet-api5.0.0maven

该SBOM清单仅展示部分内容

完整SBOM清单及检测报告:

https://www.murphysec.com/console/report/1699628236510199808/1699628236556337152?allow=1

(0)
上一篇 2023年8月28日 下午8:35
下一篇 2023年9月7日 下午4:14

相关推荐

  • com.alibaba:easyexcel 组件安全漏洞及健康度分析

    文章更新时间:2023-09-21 15:30 组件简介 维护者 alibaba 组织 许可证类型 Apache-2.0 首次发布 2018 年 2 月 7 日 最新发布时间 2023 年 5 月 30 日 GitHub Star 28990 GitHub Fork 7244 依赖包 235 依赖存储库 3,370 EasyExcel是一个基于Java的、快…

    2023年9月21日
    0
  • cglib:cglib 组件安全漏洞及健康度分析

    文章更新时间:2023-09-20 15:45 组件简介 维护者 cglib 组织 许可证类型 MulanPSL-2.0 首次发布 2005 年 11 月 8 日 最新发布时间 2019 年 8 月 12 日 GitHub Star 4664 GitHub Fork 886 依赖包 1,972 依赖存储库 40,788 cglib是一个用于生成和转换Java…

    2023年9月20日
    0
  • com.hazelcast:hazelcast 组件安全漏洞及健康度分析

    文章更新时间:2023-09-27 17:50 组件简介 维护者 hazelcast 组织 许可证类型 Apache-2.0 首次发布 2009 年 2 月 27 日 最新发布时间 2023 年 8 月 21 日 GitHub Star 5572 GitHub Fork 1779 依赖包 595 依赖存储库 10,433 Hazelcast是一种内存数据网格…

    2023年9月27日
    0
  • com.itextpdf:itextpdf 组件安全漏洞及健康度分析

    文章更新时间:2023-09-28 11:23 组件简介 维护者 itext 组织 许可证类型 AGPL-3.0 首次发布 2011 年 4 月 29 日 最新发布时间 2022 年 2 月 25 日 GitHub Star 1524 GitHub Fork 447 依赖包 340 依赖存储库 7,964 com.itextpdf:itextpdf 是一个用…

    2023年9月28日
    0
  • com.esotericsoftware:kryo 组件安全漏洞及健康度分析

    文章更新时间:2023-09-25 15:20 组件简介 维护者 EsotericSoftware 组织 许可证类型 BSD-3-Clause 首次发布 2015 年 12 月 28 日 最新发布时间 2023 年 4 月 20 日 GitHub Star 5897 GitHub Fork 839 依赖包 756 依赖存储库 4,213 Kryo 是一种用于…

    2023年9月25日
    0