You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
In file: manager.go, there is a possible case of data race. In line 341, a goroutine with function manager.updateMachineInfo is started which updates shared resource machineInfo.
Also, in line 337, function manager.globalHousekeeping is invoked in another goroutine. It starts a call chain which can lead to calling function manager.resctrlManager.GetCollector where len(m.machineInfo.Topology) is passed as a parameter.
So, two separate goroutines are accessing machineInfo. But whereas the first goroutine safely updates machineInfo with proper locking, the second goroutine can access it without any kind of synchronization. This can cause unintended sequence of events.
Sponsorship and Support:
This work is done by the security researchers from OpenRefactory and is supported by the Open Source Security Foundation (OpenSSF): Project Alpha-Omega. Alpha-Omega is a project partnering with open source software project maintainers to systematically find new, as-yet-undiscovered vulnerabilities in open source code - and get them fixed - to improve global software supply chain security.
The bug is found by running the iCR tool by OpenRefactory, Inc. and then manually triaging the results.
The text was updated successfully, but these errors were encountered:
Overview
In file:
manager.go
, there is a possible case of data race. In line 341, a goroutine with functionmanager.updateMachineInfo
is started which updates shared resourcemachineInfo
.Also, in line 337, function
manager.globalHousekeeping
is invoked in another goroutine. It starts a call chain which can lead to calling functionmanager.resctrlManager.GetCollector
wherelen(m.machineInfo.Topology)
is passed as a parameter.So, two separate goroutines are accessing
machineInfo
. But whereas the first goroutine safely updatesmachineInfo
with proper locking, the second goroutine can access it without any kind of synchronization. This can cause unintended sequence of events.Sponsorship and Support:
This work is done by the security researchers from OpenRefactory and is supported by the Open Source Security Foundation (OpenSSF): Project Alpha-Omega. Alpha-Omega is a project partnering with open source software project maintainers to systematically find new, as-yet-undiscovered vulnerabilities in open source code - and get them fixed - to improve global software supply chain security.
The bug is found by running the iCR tool by OpenRefactory, Inc. and then manually triaging the results.
The text was updated successfully, but these errors were encountered: