This is a well known (long standing) issue. Documented in the code base in commit eea02be70ee37b845f2719b3c08e5baf4b6f51f6.

Countless intermittent sanitizer warnings can be attributed to it.
return NetPermissions::HasFlag(m_permissionFlags, permission);
    }
    
    bool m_legacyWhitelisted{false};
    bool fFeeler{false}; 
    bool fOneShot{false};
    bool m_manual_connection{false};
    bool fClient{false}; 
    bool m_limited_node{false}; 
    const bool fInbound;
    std::atomic_bool fSuccessfullyConnected{false};
    
    
    std::atomic_bool fDisconnect{false};
    bool fSentAddr{false};
    CSemaphoreGrant grantOutbound;
    std::atomic<int> nRefCount{0};
    const uint64_t nKeyedNetGroup;
    std::atomic_bool fPauseRecv{false};
    std::atomic_bool fPauseSend{false};
protected:
    mapMsgCmdSize mapSendBytesPerMsgCmd;
    mapMsgCmdSize mapRecvBytesPerMsgCmd GUARDED_BY(cs_vRecv);
public:
    uint256 hashContinue;
    std::atomic<int> nStartingHeight{-1};