【Azure Function】Azure Function中使用 Java 8 的安全性问题

简介: 【Azure Function】Azure Function中使用 Java 8 的安全性问题

问题描述

使用Azure Function, 环境是Linux的Java8。目前 Oracle Java JDK8,11,17 和 OpenJDK 8/11/17 都在存在漏洞受影响版本的范围内。

OpenJDK

             

     

 

 CVE numbers:   

 

CVE‑2023‑21954

CVE‑2023‑21938

CVE‑2023‑21937

CVE‑2023‑21939

CVE‑2023‑21968

CVE‑2023‑21930

CVE‑2023‑21967

Description

Multiple vulnerabilities have been reported in OpenJDK,

which can be exploited by malicious people to disclose sensitive information,

manipulate certain data, and cause a DoS (Denial of Service).


The vulnerabilities are reported in 17.0.6 and prior, 11.0.18 and prior, and 8u362 and prior.

Oracle Java SE    

CVE numbers : 

 

CVE‑2023‑21930

CVE‑2023‑21939

CVE‑2023‑21968

CVE‑2023‑21954

CVE‑2023‑21938

CVE‑2023‑21967

CVE‑2023‑21937

Description

Multiple vulnerabilities have been reported in Oracle Java SE,

which can be exploited by malicious people to disclose sensitive information,

manipulate certain data, and cause a DoS (Denial of Service). 

  1. An error within the "JSSE" subcomponent can be exploited to disclose, update, insert, or delete certain data.
  2. An error within the "JSSE" subcomponent can be exploited to cause a DoS.
  3. An error within the "Hotspot" subcomponent can be exploited to disclose certain data. 

 

The vulnerability #3 is reported in versions 8u361, 8u361-perf, 11.0.18, and 17.0.6. 

  1. An error within the "Swing" subcomponent can be exploited to update, insert, or delete certain data.
  2. An error within the "Libraries" subcomponent can be exploited to update, insert, or delete certain data.
  3. An error within the "Libraries" subcomponent can be exploited to update, insert, or delete certain data.
  4. An error within the "Networking" subcomponent can be exploited to update, insert, or delete certain data. 

 

 

 

当前Azure官方文档,目前Function也只支持 Java 8/11/17。

详见: https://learn.microsoft.com/zh-cn/azure/azure-functions/functions-reference-java?tabs=bash%2Cconsumption

 

问题解答

For Linux:

Linux版本的Function APP Java version, Azure团队会根据最新的CVE信息同步升级,已避免潜在威胁。 例如:

Update images to use Java versions 1.8.0_392, 11.0.21, 17.0.9, and 21 :https://github.com/Azure/azure-functions-docker/commit/0f06f6e41fce80f5710fb9eef4d82d602a9aec01

  • Java 8: jdk8u392-b08
  • Java 11: 11.0.21
  • Java 17: 17.0.9

 

For Windows:

Windows 下的 Java 版本,可以自行引入符合安全规定的JRE版本:https://github.com/Azure/azure-functions-java-worker/wiki/Customize-JRE-used-by-Azure-Functions

 

对于已存在的Function APP,如果之前没有进行过重启或者定价层的变更,运行的镜像将不会改变,如果需要使用最新版本的SDK,需要将Function APP重启以便拉取最新的镜像。其中运行的Function的代码,则无需改变。

安全更新

主要安全漏洞的补丁和修复程序在 OpenJDK 的 Microsoft 版本中可用后,便会立即发布。 “重大”漏洞是根据 NIST 常见漏洞评分系统版本 2 提供的基本评分 9.0 或以上来定义的。

Tomcat 8.0 生命周期已经在 2018 年 9 月 30 日终止。 尽管该运行时在 Azure 应用服务上仍然可用,但 Azure 不会为 Tomcat 8.0 应用安全更新。 如果可能,请将你的应用程序迁移到 Tomcat 8.5 或 9.0。 Tomcat 8.5 和 9.0 在 Azure 应用服务上都可用。 有关详细信息,请查看 Tomcat 官方网站

社区对 Java 7 的支持于 2022 年 7 月 29 日结束,Java 7 已从应用服务停用。 如果你的 Web 应用在 Java 7 上运行,请立即升级到 Java 8 或 11。

 

参考资料

Function App安全更新: https://learn.microsoft.com/zh-cn/azure/app-service/language-support-policy?tabs=windows#security-updates

Customize JRE used by Azure Functions : https://github.com/Azure/azure-functions-java-worker/wiki/Customize-JRE-used-by-Azure-Functions

 

相关文章
|
8天前
|
安全 Java 数据安全/隐私保护
- 代码加密混淆工具-Java 编程安全性
在Java编程领域,保护代码安全与知识产权至关重要。本文探讨了代码加密混淆工具的重要性,并介绍了五款流行工具:ProGuard、DexGuard、Jscrambler、DashO 和 Ipa Guard。这些工具通过压缩、优化、混淆和加密等手段,提升代码安全性,保护知识产权。ProGuard 是开源工具,用于压缩和混淆Java代码;DexGuard 专为Android应用程序设计,提供强大加密功能;Jscrambler 基于云,保护Web和移动应用的JavaScript及HTML5代码;DashO 支持多种Java平台和
24 1
|
23天前
【Azure Function App】本地运行的Function发布到Azure上无法运行的错误分析
【Azure Function App】本地运行的Function发布到Azure上无法运行的错误分析
|
23天前
【Azure Function】Azure Function中的Timer Trigger无法自动触发问题
【Azure Function】Azure Function中的Timer Trigger无法自动触发问题
|
23天前
【Azure Function & Application Insights】在Azure Function的日志中,发现DrainMode mode enabled Traces。它是什么意思呢?
【Azure Function & Application Insights】在Azure Function的日志中,发现DrainMode mode enabled Traces。它是什么意思呢?
|
23天前
【Azure Function】在Function执行中遇见Timeout错误
【Azure Function】在Function执行中遇见Timeout错误
|
23天前
|
缓存
【Azure Function】Function App代码中使用Managed Identity认证获取Blob数据时遇见400报错
【Azure Function】Function App代码中使用Managed Identity认证获取Blob数据时遇见400报错
【Azure Function】Function App代码中使用Managed Identity认证获取Blob数据时遇见400报错
|
23天前
|
API
【Azure Function】Function本地调试时遇见跨域问题(blocked by CORS policy)
【Azure Function】Function本地调试时遇见跨域问题(blocked by CORS policy)
【Azure Function】Function本地调试时遇见跨域问题(blocked by CORS policy)
|
23天前
|
Python
【Azure Function】发布 Python Function 到 Azure 成功,但是无法显示Function列表
【Azure Function】发布 Python Function 到 Azure 成功,但是无法显示Function列表
|
23天前
|
缓存 网络协议 API
【APIM】Azure APIM抛出 java.lang.RuntimeException 错误定位
【APIM】Azure APIM抛出 java.lang.RuntimeException 错误定位
|
23天前
|
C#
【Azure Function】Function App启动时出现 Failed to open local port 4001 错误,这是什么情况呢?
【Azure Function】Function App启动时出现 Failed to open local port 4001 错误,这是什么情况呢?