Ultimately from Arabic صُفَّة (ṣuffa, “a long seat made of stone or brick”), from Aramaic צפא (ṣipā’, “mat”)/Classical Syriac ܨܦܬܐ. The word may have entered French via Turkish sofa.
Note casually that Arabic itself uses كَنَبة (kanaba) for “sofa”, from French canapé.