INSUFFICIENT_ACCESS_ON_CROSS_REFERENCE_ENTITY, insufficient access rights on cross-reference id: is a common issue when you try to update or create data with insufficient access on a record.
Kindly check the user profile and check whether the user has access to insert/update that record. Even if the user has access, kindly check whether the user has access to update fields like record types, lookup field, master-detail field, etc.
Make sure whether the user has access to record ids of the lookup fields and/or master-detail fields in the record.
Check the user Profile(CRUD Permissions).
Profiles need to have access to the record types.
Record's OwnerId automatically gets a shared record when the record is inserted. If the apex code tries to create the same(Share record for the owner) explicitly. This error occurs.
Check whether the apex code is trying to create share records to the record in which the current user doesn't have access to it.
Even though trigger runs in System Mode, Sharing Settings will be checked. Only CRUD and FLS will not be checked against the user.
For further reference, you can check the below too,
'insufficient access rights on cross-reference id'
How to fix insufficient access rights on cross-reference id?