Authorities said 48 glassine envelopes of heroin were found Monday in the boy's jacket. A teacher found the drugs and called police.
Phillip Young, 27, was arrested and charged with endangering the welfare of a child. He is being held on $85,000 bail.
There were no signs that the boy knew that the drugs were there.
Parents were outraged that they were not notified about the incident. The school had no comment.