A 16-year-old student was taken into custody at the high school in Murrysville, a suburb of Pittsburgh, police said.
The wounded, many with significant injuries, were as young as 14. Several were in surgery in hospital.
As many as seven students were stabbed in the torso, a doctor told reporters.
Eight patients were transported to nearby Forbes Regional Hospital, three of whom had suffered severe injuries.
Two of those patients were in critical condition, while up to four were expected to recover from superficial wounds, Dr. Mark Rubino told reporters.
The initial report of the attack came before 08:00 local time on Wednesday morning.
“A critical incident has occurred at the high school,” school officials wrote in a bulletin.
“All elementary schools are cancelled, the middle school and high school students are secure.”
The panicked students poured out of the school building, some suffering injuries in the chaos, as police descended in search of the suspected attacker.
Among the injured was a security guard, Murrysville Police Chief Thomas Seefeld said.
Morris Hundley told CBS television his “frantic” 14-year-old daughter Morriah called him to say a friend of hers had been stabbed at the school in Murrysville.
“I would never expect this to happen,” he said, adding that he had believed the community to be safe.
The suspect, a male student, is said to have used two knives in the attack. He has been taken into custody for questioning.
jjRsOe2Sa9sThe US House Ethics Committee has voted to release its report on former Republican Representative…
ABC News has agreed to pay $15 million to President-elect Donald Trump to settle a…
South Korea’s parliament has voted to impeach President Yoon Suk Yeol over his failed attempt…
Israeli war planes have carried out more than 100 air strikes in Syria on December…
President-elect Donald Trump has threatened to impose 100% tariffs on the BRICS countries if they…
Syrian troops have withdrawn from the city of Aleppo following an offensive by rebels opposed…