I need several biasing voltages in my project (measuring jig), basically a MCU controlled power supply. DAC goes from 0 to 2.5V which controls voltage from +12V to -12V. I use this schematic:

It works fine. 0V on DAC correspond to +10.3V on input and 2.5V on DAC corresponds to -11.5V. The supply is 12V/150mA (internal resistance around 15ohm), I typically only really need maybe 30mA so it's not an issue. The TL431 creates 1.13V which is somewhere near the middle to make it symmetrical.
Here is the chart: (red=+12V, green=-12V, blue=1.13V ref, yellow is DAC changing in time from 0 to 2.5V, purple is corresponding output from +10V to -10V).

Let's say I want to create -3V. In the chart above if I set DAC to 1.5V, the output will be -3V, here it is, I replaced DAC with fixed voltage U3=1.55V, which causes exactly -3.0V on the output:

So far this works as expected. But the problem is when I accidentally short the positive rail. Let's add 3ohm short R5 in top right corner. The 1.13v drops to 1.08v and the output shoots to -6V:

And that's a problem. I don't mind output droping when I short the rail, but the output shooting up to -6V when I short (or load heavily) positive rail is problem. How to solve this? I'm open to completely different solutions (but something simple), my goal is not making power supplies but to have DAC goes from 0 to 2.5V make output goes from +12 to -12V.