Germany does have cause for worry after the loss to Serbia, but their fate is still in their hands.
These groups are definitely not going as expected. Before the cup, conventional wisdom held this group as a contest between US and England for first and second with Algeria and Slovenia as sacrificial lambs. Well, luck and the referee's whistle have shattered that view and it's altogether possible that neither of the favored teams get through. Detailed scenarios have been done already elsewhere so here's the short version:
The North Africans need to win and hope that England doesn't beat Slovenia. A victory would raise Algeria to four points while a draw would leave England on three and a loss would leave them on two.
The US and England
A loss is obviously fatal to both these teams, but the US is the beneficiary of most of the draw scenarios. The only way that the US loses out if both of the last group games end in draws is if the England-Slovenia match is a high-scoring draw that overcomes the Americans' advantage in goals scored. Victory for either of these teams could mean group leadership, depending on the results of the other match.
Straightforward: A victory means the second round and group leadership. A draw would guarantee passage to the second round, but not necessarily the group lead. Even a loss isn't necessarily fatal, depending on the result of the other match.
The reward for topping Group C was expected to be avoiding Germany in the second round, but with Group D wide open, we don't know who, if anyone, will take on the three-time champions.
Their draw with Ghana gives them a lifeline, and they are not yet mathematically eliminated. They are going to need a victory over Serbia and a Ghanaian victory over Germany. This minor miracle would be be even more shocking because it would mean the elimination of the Germans.
A win over Australia would secure them their place in the second round, and could make them top of the group, if the other match ends in a draw or the Serbs blowout the Australians and the Germans win narrowly over Ghana, in such a way to cancel out Germany's advantage in goal difference. If Germany and Serbia end up tied on points, goal difference, and goals scored, the Serbs come out on top because of their victory in the head-to-head.
Looked like they would stroll through the group after annihilating Australia 4-0. But that unexpected loss to Serbia has shaken up the group and Germany could find itself on the outside, wondering where it all went wrong. A victory over Ghana is the surest way to avoid that nightmare scenario, and it might be enough to restore them to the top of the group where everyone expected them to be. They would need a loss or draw by Serbia, or at least a margin of victory in the two matches that preserved the German's lead in goal difference. The Germans could even survive a draw, depending on the result of the other match.
The surprise leaders after two matches, Ghana is the African team with the best chance of making the next stage. Obviously victory would secure them their place as group leaders, but they could survive even with a draw or a loss. If the Australians secured a narrow victory over the Serbs and the Ghanaians narrowly lost to Germany, the Black Stars could advance on goal difference.
So that's the crazy world of Groups C and D, two groups that started out with some clear favorites, favorites who have since stumbled (or been tripped, in the case of the US). Nothing is guaranteed and any of the eight teams has at least a theoretical chance at making it. Which four teams advance to face one another in the next round could swing wildly with each goal. Which is exactly the kind of drama that makes the World Cup great.