For the edges between the object and the transparent background, mere unpremultiplication is enough. This way you completely restore the color of the object in the antialiased area and the mask (indeed, you need to unpremultiply both the mask and the object’s RGB).
For the edges between the objects, you can do a dirty trick, expanding the mask with one of the Erode filters (maybe, the erode itself can be masked with the masks of the adjacent objects).
To make a really clean solution, you would need a pass with all the objects, excluding the corrected one. Then you could subtract the surrounding objects' colors from the edge of the corrected one and divide the object's RGB by the mask (in Nuke's terminology "unpremultication" means in fact division by the Alpha, so in this case, the division with the mask is a similar operation).
As you've divided the RGB by the mask, you can apply the correction, then multiply the RGB with the mask and merge the corrected object into the pass with the others.
If the colors of the surrounding objects are quite even (without too many details), you can getaway with expanding the surrounding color to extract it from the corrected object’s edges (and vice versa), divide the object’s RGB by the mask, perform the correction, then merge back into the source image using the mask.
This looks like a lot of text and may be hard to follow, so feel free to ask something in particular or upload the image with the mask, so that I made an example setup.