diff --git a/ChangeLog.md b/ChangeLog.md
--- a/ChangeLog.md
+++ b/ChangeLog.md
@@ -1,3 +1,8 @@
+## 4.2.1
+
+* Adding rate limit for RST_STREAM to work around CVE-2023-44487.
+  [#94](https://github.com/kazu-yamamoto/http2/pull/94)
+
 ## 4.2.0
 
 * Treating HALF_CLOSED_LOCAL correctly.
diff --git a/Network/HTTP2/Arch/Manager.hs b/Network/HTTP2/Arch/Manager.hs
--- a/Network/HTTP2/Arch/Manager.hs
+++ b/Network/HTTP2/Arch/Manager.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE RankNTypes #-}
+{-# LANGUAGE ScopedTypeVariables #-}
 
 -- | A thread manager.
 --   The manager has responsibility to spawn and kill
@@ -107,9 +108,10 @@
 forkManagedUnmask mgr io =
     void $ mask_ $ forkIOWithUnmask $ \unmask -> do
       addMyId mgr
-      r <- io unmask `onException` deleteMyId mgr
+      -- We catch the exception and do not rethrow it: we don't want the
+      -- exception printed to stderr.
+      io unmask `catch` \(_e :: SomeException) -> return ()
       deleteMyId mgr
-      return r
 
 -- | Adding my thread id to the kill-thread list on stopping.
 --
diff --git a/http2.cabal b/http2.cabal
--- a/http2.cabal
+++ b/http2.cabal
@@ -1,6 +1,6 @@
 cabal-version:      >=1.10
 name:               http2
-version:            4.2.0
+version:            4.2.1
 license:            BSD3
 license-file:       LICENSE
 maintainer:         Kazu Yamamoto <kazu@iij.ad.jp>
