Дождь хлестал по ржавым крышам бараков, заливая грязью табличку «Солнечный луч» — лагерь для сирот под Минском. Четырнадцатилетняя Лиза, промокшая до нитки, копошилась на складе. Директриса снова «забыла» прислать еду, и девочка искала хоть что-то съестное. Вместо консервов её пальцы наткнулись на пачку писем. Конверты, покрытые плесенью, были адресованы детям, чьи фотографии висели на доске объявлений: «Ищем! Отзовитесь!» Последнее письмо, написанное дрожащей рукой, обрывалось на полуслове: «Она приходит ночью, у неё зубы как иглы, а в котле…» На обороте кто-то вывел углём: «Беги, пока не съели».
Днём лагерь казался тихим раем. Повариха Ядвига Григорьевна, женщина с лицом доброй бабушки, кормила детей оладьями с малиновым вареньем. «Кушайте, солнышки, сил набирайтесь!» — приговаривала она, поправляя платок, из-под которого выбивалась прядь чёрных, как смоль, волос. Дети смеялись над её страшными сказками про Бабу-Ягу, но Лиза заметила: когда Ядвига поворачивалась спиной, её тень на стене была горбатой и крючковатой, словно у старухи из кошмаров.
Той ночью Лиза проснулась от скрипа за окном. В лунном свете Ядвига плыла к лесу, волоча за собой мешок. Из-под грубой ткани торчала детская рука с синяком на запястье — точно таким же, как у Антона, мальчика, пропавшего накануне. Лиза сжала кулаки: директриса объявила, что он «сбежал», но все знали — Антон никогда бы не бросил сестрёнку Свету.
На следующее утро Лиза прокралась в сторожку. Старик-сторож, вечно пьяный, храпел на койке. На стене висел топор — ржавый, но тяжёлый. В углу валялись банка с бензином для лампы и коробок спичек. «Огонь… Бабушка говорила, что нечисть его боится», — вспомнила девочка, сунув спички в карман.
В лесу воздух гудел, будто сама земля стонала. Берёзы шептались, цепляясь ветвями за её куртку. Лиза шла, пока не наткнулась на избушку. Не дом — чудовище: стены из костей, окна-глазницы, а вместо фундамента — куриные лапы, впившиеся в почву. Из трубы валил дым, пахнущий горелым мясом.
Через щель в стене Лиза увидела Ядвигу — вернее, то, во что та превратилась. Горбатая старуха с носом-крюком бросала в котёл детские фотографии. В кипящей воде мелькнуло лицо Антона, а следом — её собственное. «Сироты слаще, их никто не ищет», — прохрипела Яга, внезапно появившись за спиной. Ее когти впились в плечо Лизы, но та вырвалась, облив старуху бензином из банки. Яга взвыла, когда девочка чиркнула спичкой. Пламя лизнуло фартук, но погасло — будто его душили невидимые руки.
В подвале избушки, куда её сбросили, оказались другие дети. Света, сестра Антона, плакала в углу: «Она стирает нас из памяти… Сначала забывают друзья, потом ты сам себя не помнишь». На стене висел календарь — до Ивана Купалы оставалось три дня. Лиза вспомнила: в эту ночь огонь обретает силу против любой нечисти.
«Сделаем факелы!» — сказала Лиза, показывая на бочку со смолой у стены. Дети разорвали одежду на ленты, обмакнули их в смолу и намотали на палки. Антон, почти прозрачный, как призрак, вывел углём на стене: «Сердце Яги — в мешочке под потолком. Сожги его!»
В ночь на Ивана Купалу изба затряслась. Яга, почуяв угрозу, металась по комнате, вырывая из стен кости и швыряя их в детей. Лиза чиркнула спичкой, поджигая факелы. Пламя взметнулось к потолку, осветив мешочек, висящий на крюке. Света и близнецы Петя с Потапом кидались в Ягу горящими тряпками — старуха визжала, отскакивая к котлу.
«Обратно в сказки!» — крикнула Лиза, срывая мешочек. Внутри звенели высохшие кости — сердце Яги. Девочка швырнула его в костёр. Изба завизжала, куриные лапы подломились, стены рухнули, как карточный домик. Яга, превратившись в чёрного ворона, взмыла в небо: «Я вернусь… голод вечен!»
На пепелище остались лишь конфеты в блестящих обёртках. Лиза разломила одну: внутри копошились личинки.
Через месяц лагерь закрыли. Лизу и Свету забрала приёмная семья из Гродно. Но каждую осень, когда туманы окутывают лес, местные находят у сосен обугленные следы — будто кто-то ходит босиком по раскалённым углям. А на опушке, где стояла избушка, растёт берёза. Её корни, чёрные от сажи, опутали ржавый котёл.