> For the complete documentation index, see [llms.txt](https://specs.enzyme.finance/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://specs.enzyme.finance/topics/known-issues.md).

# Known Issues

These are issues that have been reported by whitehats, auditors, or internal team members, for which no fix will be made. All issues have been assessed for severity in consultation with our regular auditors and technical committee.

## Incorrect share price for depositors and redeemers if "auto-buyback of protocol fee shares" is used

Issue: During deposit and redeem, if a fund has `autoProtocolFeeSharesBuyback` turned on, an incorrect share price is constructed as: `pre-buyback GAV / post-buyback total supply`.

Effect: Results in too-high share price used to deposit or redeem shares

Mitigation: while mis-pricing should generally be small, unless you are confident in assessing impact, avoid using `autoProtocolFeeSharesBuyback` .

### Incorrect redemption amount and beneficiary share loss if a Shares Splitter's `redeemShares()` is called

Issue: When `redeemShares()` is called on a Shares Splitter, the splitter's shares are redeemed through the vault's redemption hook. The Comptroller infers the exit-fee charge from the redeemer's net share-balance change across that hook. If a fee that mints shares (e.g. `ManagementFee` or `PerformanceFee`) and an exit fee (`ExitRateBurnFee` or `ExitRateDirectFee`) settle in the same redemption, the incoming mint offsets the outgoing exit-fee shares, so the net-delta heuristic under-counts the exit charge and up to `min(minted shares, exit-fee shares)` extra shares are redeemed.

Effect: The extra redeemed shares are drawn from the Shares Splitter's shared pool, reducing the other beneficiaries' claimable balances by up to `min(minted shares, exit-fee shares)` per call. Only reachable via a Shares Splitter's `redeemShares()` path; the standard claim path is unaffected.

Mitigation: Do not call a Shares Splitter's `redeemShares()` — directly, programmatically, or via a block explorer; it is intentionally not exposed in the admin UI. Beneficiaries should claim their shares with `claimToken` and then, if they want the underlying assets, redeem those shares from their own account like any other holder.
