Probably late to the party - but I just realized that a validator can be “exited” but still participate in the sync committee.
Unless I am mis-reading the specs - it appears that the sync committee is chosen 256 epochs ahead (see for instance: process_sync_committee_updates; get_next_sync_committee; get_next_sync_committee_indices and get_active_validator_indices ]
Once a validator has exited it is no longer in the active set - but for sync committee assignment it appears that get_active_validator_indices is checked 256 epochs before the sync committee. So a validator can be included in the next sync committee (in 256 epochs) then request to exit…their exit can be processed before the sync committee happens.
(Our data team found some instances where this appears to be happening - Validator 102888 - Open Source Ethereum Blockchain Explorer - beaconcha.in - 2023 - note the withdrawal pattern; same thing here: Validator 114440 - Open Source Ethereum Blockchain Explorer - beaconcha.in - 2023)
I am assuming that currently this isn’t a huge security risk - but, big picture, the idea that a validator is still performing duties but has had their stake withdrawn is a concern (IMHO).