I would never talk about my partner to their best friend, or anyone else for that matter. If my boyfriend did it to me, I would be incredibly annoyed. If he can say something about me to someone else, then he can say it to my face. Same applies with me, if I have anything to say, i'll sure as hell say it to his face before I say it to someone else.
I don't think it really matters if you have already said those things to her, you are still talking about her behind her back and it's still quite hurtful. You made a mistake, you were in the wrong for various reasons. First mistake was that you talked about her behind her back, you might have had good intentions but that doesn't matter, you still talked about her without her knowledge. Second mistake, you trusted her best friend not to tell her. If you want to avoid hurting someone, or avoid fights, do not speak about them behind their back because nine times out of ten they'll find out.
I do believe that your girlfriend deserves an apology. You might have had her best interests at heart but it's something you speak to her about, if she ignores it at first, try again. It's not something that you have to involve anyone else in. It's incredibly hurtful when someone speaks about you behind your back, no matter what the circumstances are.