-
Bug
-
Resolution: Done
-
Major
-
None
-
None
-
https://github.com/undertow-io/undertow/pull/1708, https://github.com/undertow-io/undertow/pull/1724, https://github.com/undertow-io/undertow/pull/1736, https://github.com/undertow-io/undertow/pull/1737, https://github.com/undertow-io/undertow/pull/1753, https://github.com/undertow-io/undertow/pull/1754
Hello.
We are running the service based on the version of WebSocket 2.2.28 of undertow.
Npe occurred when transmitting text message through websocket session.
When I look at the internal code, the WebSocketSessionRemoteEndpoint.sendText() method is called at the same time, and it appears that NPE can occur through textFrameSender.
I will post a PR related to Github.
java.lang.NullPointerException: Cannot invoke "org.xnio.channels.SuspendableWriteChannel.flush()" because "channel" is null at org.xnio.channels.Channels.flushBlocking(Channels.java:63) at io.undertow.websockets.jsr.WebSocketSessionRemoteEndpoint$BasicWebSocketSessionRemoteEndpoint.sendText(WebSocketSessionRemoteEndpoint.java:287) at org.springframework.web.socket.adapter.standard.StandardWebSocketSession.sendTextMessage(StandardWebSocketSession.java:215) at org.springframework.web.socket.adapter.AbstractWebSocketSession.sendMessage(AbstractWebSocketSession.java:108) at com.company.project.service.handler.WebSocketMessageHandler.handleTextMessage(WebSocketMessageHandler.java:124) at org.springframework.web.socket.handler.AbstractWebSocketHandler.handleMessage(AbstractWebSocketHandler.java:43) at org.springframework.web.socket.handler.WebSocketHandlerDecorator.handleMessage(WebSocketHandlerDecorator.java:75) at org.springframework.web.socket.handler.LoggingWebSocketHandlerDecorator.handleMessage(LoggingWebSocketHandlerDecorator.java:56) at org.springframework.web.socket.handler.ExceptionWebSocketHandlerDecorator.handleMessage(ExceptionWebSocketHandlerDecorator.java:58) at org.springframework.web.socket.adapter.standard.StandardWebSocketHandlerAdapter.handleTextMessage(StandardWebSocketHandlerAdapter.java:114) at org.springframework.web.socket.adapter.standard.StandardWebSocketHandlerAdapter.access$000(StandardWebSocketHandlerAdapter.java:43) at org.springframework.web.socket.adapter.standard.StandardWebSocketHandlerAdapter$3.onMessage(StandardWebSocketHandlerAdapter.java:85) at org.springframework.web.socket.adapter.standard.StandardWebSocketHandlerAdapter$3.onMessage(StandardWebSocketHandlerAdapter.java:82) at io.undertow.websockets.jsr.FrameHandler$7.run(FrameHandler.java:288) at io.undertow.websockets.jsr.ServerWebSocketContainer$1.call(ServerWebSocketContainer.java:170) at io.undertow.websockets.jsr.ServerWebSocketContainer$1.call(ServerWebSocketContainer.java:167) at io.undertow.servlet.core.ContextClassLoaderSetupAction$1.call(ContextClassLoaderSetupAction.java:43) at io.undertow.websockets.jsr.ServerWebSocketContainer.invokeEndpointMethod(ServerWebSocketContainer.java:610) at io.undertow.websockets.jsr.ServerWebSocketContainer.invokeEndpointMethod(ServerWebSocketContainer.java:600) at io.undertow.websockets.jsr.FrameHandler.invokeTextHandler(FrameHandler.java:268) at io.undertow.websockets.jsr.FrameHandler.onFullTextMessage(FrameHandler.java:319) at io.undertow.websockets.core.AbstractReceiveListener$2.complete(AbstractReceiveListener.java:156) at io.undertow.websockets.core.AbstractReceiveListener$2.complete(AbstractReceiveListener.java:152) at io.undertow.websockets.core.BufferedTextMessage.read(BufferedTextMessage.java:105) at io.undertow.websockets.core.AbstractReceiveListener.readBufferedText(AbstractReceiveListener.java:152) at io.undertow.websockets.core.AbstractReceiveListener.bufferFullMessage(AbstractReceiveListener.java:90) at io.undertow.websockets.jsr.FrameHandler.onText(FrameHandler.java:184) at io.undertow.websockets.core.AbstractReceiveListener.handleEvent(AbstractReceiveListener.java:44) at io.undertow.websockets.core.AbstractReceiveListener.handleEvent(AbstractReceiveListener.java:33) at org.xnio.ChannelListeners.invokeChannelListener(ChannelListeners.java:92) at io.undertow.server.protocol.framed.AbstractFramedChannel$FrameReadListener.handleEvent(AbstractFramedChannel.java:974) at io.undertow.server.protocol.framed.AbstractFramedChannel$FrameReadListener.handleEvent(AbstractFramedChannel.java:954) at org.xnio.ChannelListeners.invokeChannelListener(ChannelListeners.java:92) at org.xnio.conduits.ReadReadyHandler$ChannelListenerHandler.readReady(ReadReadyHandler.java:66) at org.xnio.nio.NioSocketConduit.handleReady(NioSocketConduit.java:89) at org.xnio.nio.WorkerThread.run(WorkerThread.java:591)
- is incorporated by
-
WFCORE-7381 [CVE-2024-4109, CVE-2025-9784] Upgrade Undertow to 2.3.20.Final
-
- Resolved
-