Discrete negative voltage regulator oscillating under load
It's not oscillating
What you are seeing is ripple from C1 causing excessive variation of the current through D1 and varying its voltage.
That voltage then directly affects the output voltage.
You could make the filtering of the voltage to the zener more effective by splitting R1 into two resistors of 1k each and putting C2 at that point to ground.
A filter capacitor directly across the zener is not very effective because of the low dynamic resistance of the zener - it acts like a resistor of only a few ohms so needs a very large capacitor to get much filtering.
A current source (as you mention in the comments) is also a way of improving the design but much more complex.
How much ripple do you see at the output? How much ripple at C1?
Post a scope shot if possible.