In VRChat Avatar SDK 3.10.X and below, it is possible to run a simple exploit that bypasses the Poor rank. What does bypassing Poor mean?
Normally, as soon as an avatar has one light source, the avatar is classified as Poor. If a user blocks Poor and Very Poor avatars, that avatar should be blocked. However, with this exploit, the SDK can be tricked into reporting the avatar as Good.
Symptoms
  1. The avatar shows the Good rank in the Test SDK build
  2. The avatar shows the Poor rank once uploaded as a normal avatar
  3. The Poor avatar still behaves as Good even when labeled as Poor
Steps to reproduce
  1. Create a Good avatar
  2. Add a Particle System to the avatar
  3. In the Particle System, scroll down to Lights
  4. Create a Point Light in the scene but outside the avatar
  5. Create a prefab of the Point Light
  6. Insert the Point Light prefab into the Light slot inside the Particle System
  7. Increase the light count to 20 or even 1000
  8. Upload the avatar as Test using Build and Test
Result
The Test SDK avatar is shown as Good
  1. Upload the avatar normally
Result
The avatar is shown as Poor and reports only one light source
Now the absurd part
  1. Use the Poor avatar that was just uploaded
  2. Ask a second player to block Very Poor and Poor avatars
Result
The avatar is still visible even with Poor and Very Poor avatars blocked
Affected Platforms:
PC, PCVR, Quest
How Curcial is this Exploit:
I did a test in a private black cat instance. 25 Players did block my avatar. I was able to crash 18 persons by using this.
Video showcasing the issue with the test avatar; https://files.catbox.moe/nv2h2c.mp4
Expected Result:
VRChat should count every single Light Source no matter if its inside a particle system or outside a particle system. it should also be blocked on Quest (like it does on mobile)