In the Linux kernel, the following vulnerability has been resolved:
net: can: j1939: enhanced error handling for tightly received RTS messages in xtprxrtssessionnew
This patch enhances error handling in scenarios with RTS (Request to Send) messages arriving closely. It replaces the less informative WARNONONCE backtraces with a new error handling method. This provides clearer error messages and allows for the early termination of problematic sessions. Previously, sessions were only released at the end of j1939xtprx_rts().
Potentially this could be reproduced with something like: testj1939 -r vcan0:0x80 & while true; do # send first RTS cansend vcan0 18EC8090#1014000303002301; # send second RTS cansend vcan0 18EC8090#1014000303002301; # send abort cansend vcan0 18EC8090#ff00000000002301; done
{
"osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2023/52xxx/CVE-2023-52887.json",
"cna_assigner": "Linux"
}"https://storage.googleapis.com/osv-test-cve-osv-conversion/osv-output/CVE-2023-52887.json"
[
{
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@d3e2904f71ea0fe7eaff1d68a2b0363c888ea0fb",
"signature_type": "Function",
"digest": {
"function_hash": "54752962186135189246364920656752129885",
"length": 1669.0
},
"deprecated": false,
"target": {
"file": "net/can/j1939/transport.c",
"function": "j1939_xtp_rx_rts_session_new"
},
"id": "CVE-2023-52887-08037c2c",
"signature_version": "v1"
},
{
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@ed581989d7ea9df6f8646beba2341e32cd49a1f9",
"signature_type": "Function",
"digest": {
"function_hash": "18723426323380869456545742555199763894",
"length": 1588.0
},
"deprecated": false,
"target": {
"file": "net/can/j1939/transport.c",
"function": "j1939_xtp_rx_rts_session_new"
},
"id": "CVE-2023-52887-32c68e22",
"signature_version": "v1"
},
{
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@0bc0a7416ea73f79f915c9a05ac0858dff65cfed",
"signature_type": "Function",
"digest": {
"function_hash": "54752962186135189246364920656752129885",
"length": 1669.0
},
"deprecated": false,
"target": {
"file": "net/can/j1939/transport.c",
"function": "j1939_xtp_rx_rts_session_new"
},
"id": "CVE-2023-52887-3ed86a19",
"signature_version": "v1"
},
{
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@1762ca80c2b72dd1b5821c5e347713ae696276ea",
"signature_type": "Line",
"digest": {
"line_hashes": [
"319522350541993488699420260624184059858",
"30488264189053901848044388870541230321",
"67685419988179096947379350080398704910",
"335767230716170699060068093009686441950",
"246052371248201802981055941637401732924",
"219219854262879425960720821249212785623",
"256285975326637727492206194455779131087",
"50586985904382023172914622953638396543",
"308525823258292530142906470177620053108",
"112076323754036667802812764306471939464"
],
"threshold": 0.9
},
"deprecated": false,
"target": {
"file": "net/can/j1939/transport.c"
},
"id": "CVE-2023-52887-4dbbbd76",
"signature_version": "v1"
},
{
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@177e33b655d35d72866b50aec84307119dc5f3d4",
"signature_type": "Function",
"digest": {
"function_hash": "54752962186135189246364920656752129885",
"length": 1669.0
},
"deprecated": false,
"target": {
"file": "net/can/j1939/transport.c",
"function": "j1939_xtp_rx_rts_session_new"
},
"id": "CVE-2023-52887-5395818e",
"signature_version": "v1"
},
{
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@ed581989d7ea9df6f8646beba2341e32cd49a1f9",
"signature_type": "Line",
"digest": {
"line_hashes": [
"319522350541993488699420260624184059858",
"30488264189053901848044388870541230321",
"67685419988179096947379350080398704910",
"335767230716170699060068093009686441950",
"246052371248201802981055941637401732924",
"219219854262879425960720821249212785623",
"10814478038176760834993771551783829128",
"9688523943102616335537949574160608246",
"65240123435283721703522289272007415108",
"112076323754036667802812764306471939464"
],
"threshold": 0.9
},
"deprecated": false,
"target": {
"file": "net/can/j1939/transport.c"
},
"id": "CVE-2023-52887-588afcc2",
"signature_version": "v1"
},
{
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@26b18dd30e63d4fd777be429148e8e4ed66f60b2",
"signature_type": "Function",
"digest": {
"function_hash": "54752962186135189246364920656752129885",
"length": 1669.0
},
"deprecated": false,
"target": {
"file": "net/can/j1939/transport.c",
"function": "j1939_xtp_rx_rts_session_new"
},
"id": "CVE-2023-52887-6890e40d",
"signature_version": "v1"
},
{
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@26b18dd30e63d4fd777be429148e8e4ed66f60b2",
"signature_type": "Line",
"digest": {
"line_hashes": [
"319522350541993488699420260624184059858",
"30488264189053901848044388870541230321",
"67685419988179096947379350080398704910",
"335767230716170699060068093009686441950",
"246052371248201802981055941637401732924",
"219219854262879425960720821249212785623",
"256285975326637727492206194455779131087",
"50586985904382023172914622953638396543",
"308525823258292530142906470177620053108",
"112076323754036667802812764306471939464"
],
"threshold": 0.9
},
"deprecated": false,
"target": {
"file": "net/can/j1939/transport.c"
},
"id": "CVE-2023-52887-96225ce4",
"signature_version": "v1"
},
{
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@1762ca80c2b72dd1b5821c5e347713ae696276ea",
"signature_type": "Function",
"digest": {
"function_hash": "54752962186135189246364920656752129885",
"length": 1669.0
},
"deprecated": false,
"target": {
"file": "net/can/j1939/transport.c",
"function": "j1939_xtp_rx_rts_session_new"
},
"id": "CVE-2023-52887-b09a2c86",
"signature_version": "v1"
},
{
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@f6c839e717901dbd6b1c1ca807b6210222eb70f6",
"signature_type": "Function",
"digest": {
"function_hash": "18723426323380869456545742555199763894",
"length": 1588.0
},
"deprecated": false,
"target": {
"file": "net/can/j1939/transport.c",
"function": "j1939_xtp_rx_rts_session_new"
},
"id": "CVE-2023-52887-b8a58d34",
"signature_version": "v1"
},
{
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@0bc0a7416ea73f79f915c9a05ac0858dff65cfed",
"signature_type": "Line",
"digest": {
"line_hashes": [
"319522350541993488699420260624184059858",
"30488264189053901848044388870541230321",
"67685419988179096947379350080398704910",
"335767230716170699060068093009686441950",
"246052371248201802981055941637401732924",
"219219854262879425960720821249212785623",
"256285975326637727492206194455779131087",
"50586985904382023172914622953638396543",
"308525823258292530142906470177620053108",
"112076323754036667802812764306471939464"
],
"threshold": 0.9
},
"deprecated": false,
"target": {
"file": "net/can/j1939/transport.c"
},
"id": "CVE-2023-52887-bab32c33",
"signature_version": "v1"
},
{
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@177e33b655d35d72866b50aec84307119dc5f3d4",
"signature_type": "Line",
"digest": {
"line_hashes": [
"319522350541993488699420260624184059858",
"30488264189053901848044388870541230321",
"67685419988179096947379350080398704910",
"335767230716170699060068093009686441950",
"246052371248201802981055941637401732924",
"219219854262879425960720821249212785623",
"256285975326637727492206194455779131087",
"50586985904382023172914622953638396543",
"308525823258292530142906470177620053108",
"112076323754036667802812764306471939464"
],
"threshold": 0.9
},
"deprecated": false,
"target": {
"file": "net/can/j1939/transport.c"
},
"id": "CVE-2023-52887-bdb9d904",
"signature_version": "v1"
},
{
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@f6c839e717901dbd6b1c1ca807b6210222eb70f6",
"signature_type": "Line",
"digest": {
"line_hashes": [
"319522350541993488699420260624184059858",
"30488264189053901848044388870541230321",
"67685419988179096947379350080398704910",
"335767230716170699060068093009686441950",
"246052371248201802981055941637401732924",
"219219854262879425960720821249212785623",
"10814478038176760834993771551783829128",
"9688523943102616335537949574160608246",
"65240123435283721703522289272007415108",
"112076323754036667802812764306471939464"
],
"threshold": 0.9
},
"deprecated": false,
"target": {
"file": "net/can/j1939/transport.c"
},
"id": "CVE-2023-52887-dcaef5aa",
"signature_version": "v1"
},
{
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@d3e2904f71ea0fe7eaff1d68a2b0363c888ea0fb",
"signature_type": "Line",
"digest": {
"line_hashes": [
"319522350541993488699420260624184059858",
"30488264189053901848044388870541230321",
"67685419988179096947379350080398704910",
"335767230716170699060068093009686441950",
"246052371248201802981055941637401732924",
"219219854262879425960720821249212785623",
"256285975326637727492206194455779131087",
"50586985904382023172914622953638396543",
"308525823258292530142906470177620053108",
"112076323754036667802812764306471939464"
],
"threshold": 0.9
},
"deprecated": false,
"target": {
"file": "net/can/j1939/transport.c"
},
"id": "CVE-2023-52887-ddf20457",
"signature_version": "v1"
}
]