VYPR
Moderate severityNVD Advisory· Published Jan 27, 2013· Updated Apr 29, 2026

CVE-2012-6112

CVE-2012-6112

Description

classes/GoogleSpell.php in the PHP Spellchecker (aka Google Spellchecker) addon before 2.0.6.1 for TinyMCE, as used in Moodle 2.1.x before 2.1.10, 2.2.x before 2.2.7, 2.3.x before 2.3.4, and 2.4.x before 2.4.1 and other products, does not properly handle control characters, which allows remote attackers to trigger arbitrary outbound HTTP requests via a crafted string.

Affected packages

Versions sourced from the GitHub Security Advisory.

PackageAffected versionsPatched versions
moodle/moodlePackagist
>= 2.1.0, < 2.1.102.1.10
moodle/moodlePackagist
>= 2.2.0, < 2.2.72.2.7
moodle/moodlePackagist
>= 2.3.0, < 2.3.42.3.4
moodle/moodlePackagist
>= 2.4.0, < 2.4.12.4.1

Affected products

33
  • Moodle/Moodle22 versions
    cpe:2.3:a:moodle:moodle:2.1.0:*:*:*:*:*:*:*+ 21 more
    • cpe:2.3:a:moodle:moodle:2.1.0:*:*:*:*:*:*:*
    • cpe:2.3:a:moodle:moodle:2.1.1:*:*:*:*:*:*:*
    • cpe:2.3:a:moodle:moodle:2.1.2:*:*:*:*:*:*:*
    • cpe:2.3:a:moodle:moodle:2.1.3:*:*:*:*:*:*:*
    • cpe:2.3:a:moodle:moodle:2.1.4:*:*:*:*:*:*:*
    • cpe:2.3:a:moodle:moodle:2.1.5:*:*:*:*:*:*:*
    • cpe:2.3:a:moodle:moodle:2.1.6:*:*:*:*:*:*:*
    • cpe:2.3:a:moodle:moodle:2.1.7:*:*:*:*:*:*:*
    • cpe:2.3:a:moodle:moodle:2.1.8:*:*:*:*:*:*:*
    • cpe:2.3:a:moodle:moodle:2.1.9:*:*:*:*:*:*:*
    • cpe:2.3:a:moodle:moodle:2.2.0:*:*:*:*:*:*:*
    • cpe:2.3:a:moodle:moodle:2.2.1:*:*:*:*:*:*:*
    • cpe:2.3:a:moodle:moodle:2.2.2:*:*:*:*:*:*:*
    • cpe:2.3:a:moodle:moodle:2.2.3:*:*:*:*:*:*:*
    • cpe:2.3:a:moodle:moodle:2.2.4:*:*:*:*:*:*:*
    • cpe:2.3:a:moodle:moodle:2.2.5:*:*:*:*:*:*:*
    • cpe:2.3:a:moodle:moodle:2.2.6:*:*:*:*:*:*:*
    • cpe:2.3:a:moodle:moodle:2.3.0:*:*:*:*:*:*:*
    • cpe:2.3:a:moodle:moodle:2.3.1:*:*:*:*:*:*:*
    • cpe:2.3:a:moodle:moodle:2.3.2:*:*:*:*:*:*:*
    • cpe:2.3:a:moodle:moodle:2.3.3:*:*:*:*:*:*:*
    • cpe:2.3:a:moodle:moodle:2.4.0:*:*:*:*:*:*:*
  • cpe:2.3:a:tinymce:spellchecker_php:2.0:*:*:*:*:*:*:*+ 10 more
    • cpe:2.3:a:tinymce:spellchecker_php:2.0:*:*:*:*:*:*:*
    • cpe:2.3:a:tinymce:spellchecker_php:2.0.1:*:*:*:*:*:*:*
    • cpe:2.3:a:tinymce:spellchecker_php:2.0.2:*:*:*:*:*:*:*
    • cpe:2.3:a:tinymce:spellchecker_php:2.0.3:*:*:*:*:*:*:*
    • cpe:2.3:a:tinymce:spellchecker_php:2.0.6:*:*:*:*:*:*:*
    • cpe:2.3:a:tinymce:spellchecker_php:2.0:a1:*:*:*:*:*:*
    • cpe:2.3:a:tinymce:spellchecker_php:2.0:a2:*:*:*:*:*:*
    • cpe:2.3:a:tinymce:spellchecker_php:2.0:b1:*:*:*:*:*:*
    • cpe:2.3:a:tinymce:spellchecker_php:2.0:b2:*:*:*:*:*:*
    • cpe:2.3:a:tinymce:spellchecker_php:2.0:b3:*:*:*:*:*:*
    • cpe:2.3:a:tinymce:spellchecker_php:2.0:rc1:*:*:*:*:*:*

Patches

5
6fac8f7f04c9

MDL-37283 import tinymce spellchecker 2.0.6.1

https://github.com/moodle/moodlePetr ŠkodaDec 22, 2012via ghsa
2 files changed · +4 0
  • lib/editor/tinymce/tiny_mce/3.4.9/plugins/spellchecker/changelog.txt+2 0 modified
    @@ -1,3 +1,5 @@
    +Version 2.0.6.1 (2012-11-16)
    +	Fixed security issue with google spellchecker.
     Version 2.0.6 (2011-09-29)
     	Fixed incorrect position of suggestion menu.
     	Fixed handling of mispelled words with no suggestions in PSpellShell engine.
    
  • lib/editor/tinymce/tiny_mce/3.4.9/plugins/spellchecker/classes/GoogleSpell.php+2 0 modified
    @@ -51,6 +51,8 @@ function &getSuggestions($lang, $word) {
     	}
     
     	function &_getMatches($lang, $str) {
    +		$lang = preg_replace('/[^a-z\-]/i', '', $lang); // Sanitize, remove everything but a-z or -
    +		$str = preg_replace('/[\x00-\x1F\x7F]/', '', $str); // Sanitize, remove all control characters
     		$server = "www.google.com";
     		$port = 443;
     		$path = "/tbproxy/spell?lang=" . $lang . "&hl=en";
    
9803d8fc3ce0

MDL-37283 import tinymce spellchecker 2.0.6.1

https://github.com/moodle/moodlePetr ŠkodaDec 22, 2012via ghsa
2 files changed · +4 0
  • lib/editor/tinymce/tiny_mce/3.4.9/plugins/spellchecker/changelog.txt+2 0 modified
    @@ -1,3 +1,5 @@
    +Version 2.0.6.1 (2012-11-16)
    +	Fixed security issue with google spellchecker.
     Version 2.0.6 (2011-09-29)
     	Fixed incorrect position of suggestion menu.
     	Fixed handling of mispelled words with no suggestions in PSpellShell engine.
    
  • lib/editor/tinymce/tiny_mce/3.4.9/plugins/spellchecker/classes/GoogleSpell.php+2 0 modified
    @@ -51,6 +51,8 @@ function &getSuggestions($lang, $word) {
     	}
     
     	function &_getMatches($lang, $str) {
    +		$lang = preg_replace('/[^a-z\-]/i', '', $lang); // Sanitize, remove everything but a-z or -
    +		$str = preg_replace('/[\x00-\x1F\x7F]/', '', $str); // Sanitize, remove all control characters
     		$server = "www.google.com";
     		$port = 443;
     		$path = "/tbproxy/spell?lang=" . $lang . "&hl=en";
    
a3243760c243

MDL-37283 import tinymce spellchecker 2.0.6.1

https://github.com/moodle/moodlePetr ŠkodaDec 22, 2012via ghsa
2 files changed · +4 0
  • lib/editor/tinymce/tiny_mce/3.5.1.1/plugins/spellchecker/changelog.txt+2 0 modified
    @@ -1,3 +1,5 @@
    +Version 2.0.6.1 (2012-11-16)
    
    +	Fixed security issue with google spellchecker.
    
     Version 2.0.6 (2011-09-29)
    
     	Fixed incorrect position of suggestion menu.
    
     	Fixed handling of mispelled words with no suggestions in PSpellShell engine.
    
    
  • lib/editor/tinymce/tiny_mce/3.5.1.1/plugins/spellchecker/classes/GoogleSpell.php+2 0 modified
    @@ -51,6 +51,8 @@ function &getSuggestions($lang, $word) {
     	}
    
     
    
     	function &_getMatches($lang, $str) {
    
    +		$lang = preg_replace('/[^a-z\-]/i', '', $lang); // Sanitize, remove everything but a-z or -
    
    +		$str = preg_replace('/[\x00-\x1F\x7F]/', '', $str); // Sanitize, remove all control characters
    
     		$server = "www.google.com";
    
     		$port = 443;
    
     		$path = "/tbproxy/spell?lang=" . $lang . "&hl=en";
    
    
f938b1a89b8f

MDL-37283 import tinymce spellchecker 2.0.6.1

https://github.com/moodle/moodlePetr ŠkodaDec 22, 2012via ghsa
2 files changed · +4 0
  • lib/editor/tinymce/plugins/spellchecker/changelog.txt+2 0 modified
    @@ -1,3 +1,5 @@
    +Version 2.0.6.1 (2012-11-16)
    
    +	Fixed security issue with google spellchecker.
    
     Version 2.0.6 (2011-09-29)
    
     	Fixed incorrect position of suggestion menu.
    
     	Fixed handling of mispelled words with no suggestions in PSpellShell engine.
    
    
  • lib/editor/tinymce/plugins/spellchecker/classes/GoogleSpell.php+2 0 modified
    @@ -51,6 +51,8 @@ function &getSuggestions($lang, $word) {
     	}
    
     
    
     	function &_getMatches($lang, $str) {
    
    +		$lang = preg_replace('/[^a-z\-]/i', '', $lang); // Sanitize, remove everything but a-z or -
    
    +		$str = preg_replace('/[\x00-\x1F\x7F]/', '', $str); // Sanitize, remove all control characters
    
     		$server = "www.google.com";
    
     		$port = 443;
    
     		$path = "/tbproxy/spell?lang=" . $lang . "&hl=en";
    
    
22910187bfb9

Fixed security issue with google spellchecker

2 files changed · +4 0
  • changelog.txt+2 0 modified
    @@ -1,3 +1,5 @@
    +Version 2.0.6.1 (2012-11-16)
    
    +	Fixed security issue with google spellchecker.
    
     Version 2.0.6 (2011-09-29)
    
     	Fixed incorrect position of suggestion menu.
    
     	Fixed handling of mispelled words with no suggestions in PSpellShell engine.
    
    
  • classes/GoogleSpell.php+2 0 modified
    @@ -51,6 +51,8 @@ function &getSuggestions($lang, $word) {
     	}
    
     
    
     	function &_getMatches($lang, $str) {
    
    +		$lang = preg_replace('/[^a-z\-]/i', '', $lang); // Sanitize, remove everything but a-z or -
    
    +		$str = preg_replace('/[\x00-\x1F\x7F]/', '', $str); // Sanitize, remove all control characters
    
     		$server = "www.google.com";
    
     		$port = 443;
    
     		$path = "/tbproxy/spell?lang=" . $lang . "&hl=en";
    
    

Vulnerability mechanics

Generated by null/stub on May 9, 2026. Inputs: CWE entries + fix-commit diffs from this CVE's patches. Citations validated against bundle.

References

13

News mentions

0

No linked articles in our index yet.