Faits: A. A._ a été arrêté le 20 septembre 2011 dans le cadre d'une instruction pénale conduite par le Ministère public du canton du Valais (ci-après: le Ministère public) et portant sur un trafic de stupéfiants. Il lui est en substance reproché d'avoir participé à un trafic de cocaïne et de cannabis impliquant notamment trois comparses arrêtés le même jour. Par ordonnance du 23 septembre 2011, le Tribunal des mesures de contrainte du canton du Valais (ci-après: le Tmc) a ordonné la détention provisoire du prénommé; cette détention a été prolongée depuis lors à plusieurs reprises. Par ordonnance du 31 juillet 2012, le Tmc a rejeté la demande de mise en liberté présentée par A._ et a prolongé sa détention provisoire jusqu'au 31 octobre 2012. L'intéressé a recouru contre cette décision auprès de la Chambre pénale du Tribunal cantonal du canton du Valais (ci-après: le Tribunal cantonal), qui a rejeté ce recours par ordonnance du 28 août 2012. Constatant qu'il existait des charges suffisantes à l'encontre de A._, cette autorité a considéré que le maintien en détention provisoire était justifié par un risque de fuite, qui n'était pas contesté par l'intéressé; en outre, la détention provisoire subie restait très éloignée de la durée probable de la peine privative de liberté à laquelle il fallait s'attendre concrètement en cas de condamnation. B. A._ recourt contre cette ordonnance auprès du Tribunal fédéral, en concluant à l'annulation de la décision attaquée et au prononcé de sa libération immédiate avec suite de frais et dépens à la charge de l'Etat du Valais. Il requiert en outre l'octroi de l'assistance judiciaire. Le Ministère public du canton du Valais et le Tribunal cantonal ont renoncé à se déterminer. La cour cantonale s'est référée aux considérants de sa décision. 