Skip to content

Commit 5754518

Browse files
committed
Upgrade netty-tcnative to 2.0.61.Final
This updates the version of boringssl and removes the dependency on APR. netty-tcnative 2.0.56.Final uses APR 1.7.0, so is in scope for CVE-2021-35940, CVE-2022-28331, and CVE-2022-24963. netty-tcnative is not actually vulnerable. The binary does not include apr_socket_sendv(), apr_encode_*(), apr_pencode_*(), apr_decode_*(), apr_pdecode_*(). The binary does include apr_time_exp_*() but it is unused code. Unfortunately --gc-sections wasn't used during compilation. apr_time_now() is used, but that just calls gettimeofday() and is not vulnerable. There's no panic here, but this updates netty-tcnative just a few weeks before we would have ordinarily done so. Bumping the version makes life easier for everyone.
1 parent 0f2c43a commit 5754518

File tree

5 files changed

+7
-10
lines changed

5 files changed

+7
-10
lines changed

SECURITY.md

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -394,7 +394,8 @@ grpc-netty version | netty-handler version | netty-tcnative-boringssl-static ver
394394
1.44.x-1.47.x | 4.1.72.Final | 2.0.46.Final
395395
1.48.x-1.49.x | 4.1.77.Final | 2.0.53.Final
396396
1.50.x-1.53.x | 4.1.79.Final | 2.0.54.Final
397-
1.54.x- | 4.1.87.Final | 2.0.56.Final
397+
1.54.x-1.55.x | 4.1.87.Final | 2.0.56.Final
398+
1.56.x- | 4.1.87.Final | 2.0.61.Final
398399

399400
_(grpc-netty-shaded avoids issues with keeping these versions in sync.)_
400401

examples/example-tls/pom.xml

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,6 @@
1414
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
1515
<grpc.version>1.57.0-SNAPSHOT</grpc.version><!-- CURRENT_GRPC_VERSION -->
1616
<protoc.version>3.22.3</protoc.version>
17-
<netty.tcnative.version>2.0.56.Final</netty.tcnative.version>
1817
<!-- required for jdk9 -->
1918
<maven.compiler.source>1.8</maven.compiler.source>
2019
<maven.compiler.target>1.8</maven.compiler.target>

examples/example-xds/build.gradle

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,6 @@ targetCompatibility = 1.8
2323
// Feel free to delete the comment at the next line. It is just for safely
2424
// updating the version in our release process.
2525
def grpcVersion = '1.57.0-SNAPSHOT' // CURRENT_GRPC_VERSION
26-
def nettyTcNativeVersion = '2.0.56.Final'
2726
def protocVersion = '3.22.3'
2827

2928
dependencies {

gradle/libs.versions.toml

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,9 @@
44
googleauth = "1.4.0"
55
guava = "31.1-android"
66
netty = '4.1.87.Final'
7-
nettytcnative = '2.0.56.Final'
7+
# Keep the following references of tcnative version in sync whenever it's updated:
8+
# SECURITY.md
9+
nettytcnative = '2.0.61.Final'
810
opencensus = "0.31.1"
911
protobuf = "3.22.3"
1012

@@ -46,10 +48,6 @@ mockito-android = "org.mockito:mockito-android:3.12.4"
4648
mockito-core = "org.mockito:mockito-core:3.12.4"
4749
netty-codec-http2 = { module = "io.netty:netty-codec-http2", version.ref = "netty" }
4850
netty-handler-proxy = { module = "io.netty:netty-handler-proxy", version.ref = "netty" }
49-
# Keep the following references of tcnative version in sync whenever it's updated:
50-
# SECURITY.md (multiple occurrences)
51-
# examples/example-tls/build.gradle
52-
# examples/example-tls/pom.xml
5351
netty-tcnative = { module = "io.netty:netty-tcnative-boringssl-static", version.ref = "nettytcnative" }
5452
netty-tcnative-classes = { module = "io.netty:netty-tcnative-classes", version.ref = "nettytcnative" }
5553
netty-transport-epoll = { module = "io.netty:netty-transport-native-epoll", version.ref = "netty" }

repositories.bzl

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -34,8 +34,8 @@ IO_GRPC_GRPC_JAVA_ARTIFACTS = [
3434
"io.netty:netty-handler-proxy:4.1.87.Final",
3535
"io.netty:netty-handler:4.1.87.Final",
3636
"io.netty:netty-resolver:4.1.87.Final",
37-
"io.netty:netty-tcnative-boringssl-static:2.0.56.Final",
38-
"io.netty:netty-tcnative-classes:2.0.56.Final",
37+
"io.netty:netty-tcnative-boringssl-static:2.0.61.Final",
38+
"io.netty:netty-tcnative-classes:2.0.61.Final",
3939
"io.netty:netty-transport-native-epoll:jar:linux-x86_64:4.1.87.Final",
4040
"io.netty:netty-transport-native-unix-common:4.1.87.Final",
4141
"io.netty:netty-transport:4.1.87.Final",

0 commit comments

Comments
 (0)