Minecraft wiki entry for Vines, associated text: Horizontally:
If the current vine block isn't covering the target direction and there are fewer than 4 other vine blocks in a 9×9×3 area surrounding the ticked vine block, then:
If the block in the target direction is air, then it tries: