背景
2020年1月6日には、プラットフォーム(CNVD)を共有する国家情報セキュリティの脆弱性は、パビリオンは、北京科学技術有限公司によって発見され、Apache Tomcatのファイルインクルージョンの脆弱性(CNVD-2020から10487、対応するCVE-2020から1938)に提出含まれています。脆弱性を悪用し、攻撃者は不正なリモートの場合、特定のディレクトリに任意のファイルを読み取ることができます。現時点では、脆弱性の詳細はメーカーがバグ修正の完了の新バージョンをリリースしました、明らかにされていません。
具体的な注意事項:HTTPS://www.cnvd.org.cn/webin ...
春ブーツ対応する方法
あなたは、外部のTomcat、リファレンス・ノートへの対応方法を使用している場合。
あなたが構築されspringbootのTomcatを使用して、手動でAJPプロトコルを開いている場合は、ビルトインのTomcatのバージョンにアップグレードする必要があります。
手動でAJPを開けませんでした(デフォルトの内蔵Tomcatを使用して)springboot場合、あなたは、Tomcatの組み込みのバージョンをアップグレードすることはできません。もちろん、あなたがアップグレードすることも可能です。
springboot openメソッドAJP
springbootを開く必要がある場合、あなたはspringboot2例を手動で設定する必要があり、デフォルトのAJPで有効になっていません。
@Bean
public WebServerFactoryCustomizer<TomcatServletWebServerFactory> servletContainer() {
return server -> {
if (server instanceof TomcatServletWebServerFactory) {
((TomcatServletWebServerFactory) server).addAdditionalTomcatConnectors(redirectConnector());
}
};
}
private Connector redirectConnector() {
Connector connector = new Connector("AJP/1.3");
connector.setScheme("http");
connector.setPort(ajpPort);
connector.setSecure(false);
connector.setAllowTrace(false);
return connector;
}
ビルトインのTomcatのバージョンを指定する方法springboot
あなたのspringbootプロジェクトはAJPを開いた場合は、通知に指定された以上、組み込みTomcatのバージョンにアップグレードする必要があります。
例としては、8.5.51にアップグレードします。
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
<exclusions>
<exclusion>
<artifactId>tomcat-embed-core</artifactId>
<groupId>org.apache.tomcat.embed</groupId>
</exclusion>
<exclusion>
<artifactId>tomcat-embed-el</artifactId>
<groupId>org.apache.tomcat.embed</groupId>
</exclusion>
<exclusion>
<artifactId>tomcat-embed-websocket</artifactId>
<groupId>org.apache.tomcat.embed</groupId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>org.apache.tomcat</groupId>
<artifactId>tomcat-annotations-api</artifactId>
<version>8.5.51</version>
</dependency>
<dependency>
<groupId>org.apache.tomcat.embed</groupId>
<artifactId>tomcat-embed-core</artifactId>
<version>8.5.51</version>
<exclusions>
<exclusion>
<groupId>org.apache.tomcat</groupId>
<artifactId>tomcat-annotations-api</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>org.apache.tomcat.embed</groupId>
<artifactId>tomcat-embed-el</artifactId>
<version>8.5.51</version>
</dependency>
<dependency>
<groupId>org.apache.tomcat.embed</groupId>
<artifactId>tomcat-embed-websocket</artifactId>
<version>8.5.51</version>
<exclusions>
<exclusion>
<artifactId>tomcat-embed-core</artifactId>
<groupId>org.apache.tomcat.embed</groupId>
</exclusion>
</exclusions>
</dependency>
ここでは、リストのtomcat-埋め込むコア、tomcatの-埋め込む-EL、tomcatの-注釈-APIとTomcat-埋め込む-のWebSocketは、4つの依存関係で、実際には、あなたの特定のプロジェクトの依存関係に基づいて、アップグレードされたバージョンでなければなりません