There’s no easy way to fix that. Helps if you have the RAW versions of the files available,as you can minimize the damage when opening the raw. Use 16-bit color mode for better results.
One thing you can try is to make two selections (alpha channels) out of one of the color channels (most likely the green channel which has the most image information) where you define the light and dark areas separately, then curve them up or down to lighten shadows and to darken highlights. This approach takes pretty well-honed eye for using curves.
The other option is to duplicate the entire layer and do the above on a channel-by channel basis looking at the grayscale representation of each of the RGB channels one at a time and curving the individual channels as well as you can as if they were grayscale images. Then set this adjusted top layer to luminosity and adjust further overall (all channels at once) for lightness or darkness.
Kalleheikki Kannisto
Senior Graphic Designer